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);
当然也可以把密码放在环境变量中,不过总体而言,客户端加密是个防君子不防小人的方法。