Jasypt 在线加解密工具
注意:服务托管在阿里函数计算平台,首次访问需要等待较长时间(10 秒左右)
Spring 中使用 Jasypt
Spring 的配置文件中会有一些敏感信息,如数据库密码,因此有时我们希望将敏感信息加密,Jasypt 就是其中比较方便的工具。
Jasypt 是一个 jar 包,实现了常用的一些加解密算法,在 Spring 中使用一般会用相应的 Spring starter 包,在 pom.xml 中加入依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
接下来就可以在 application.yaml 中指定加密的配置,例如 spring.datasource.password: pass@1,则可以加密如下:
spring.datasource.password: ENC(o9FgF1JelkE/l2TrOd0iHg==)
jasypt.encryptor.password: secret
具体来说,加密的内容需要用 ENC(..) 括起来,加密用的密码通过 jasypt.encryptor.password 指定。
因为必须要解密,密码就需要放在配置文件里,或者放在代码中:
System.setProperty("jasypt.encryptor.password", ConstantValue.JASYPT_ENCRYPTOR_PASSWORD);
当然也可以把密码放在环境变量中,不过总体而言,客户端加密是个防君子不防小人的方法。