Jasypt库的使用
Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。
Jasypt库与springboot集成,在实际开发中非常方便。
1、引入依赖
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.5</version>
</dependency>
2、添加 jasypt 加密使用的密钥
jasypt:encryptor:password: G9w0BAQEFAASCBKYwggproperty:prefix: "ENC@["suffix: "]"
password 参数是必须的,相当于 Salt(盐),以保证密码安全性。
prefix 和 suffix 是自定义的密码串标识,不配置默认为:ENC(…)。
3、加解密测试类
@Slf4j
@SpringBootTest
public class JasyptTest {@Autowiredprivate StringEncryptor stringEncryptor;@Testpublic void encrypt() {String usernameEnc = stringEncryptor.encrypt("root");log.info("test username encrypt is {}", usernameEnc);log.info("test username is {}", stringEncryptor.decrypt(usernameEnc));}
}
3、生成的密文填充到 application 配置文件中
spring:username: ENC@[Itve3hPLCnDcpTF5Wfvz5Q==]
注意 ENC@[] 这个占位符是上面进行自定义配置的。
4、启动命令中配置JVM参数传入密钥
java -Djasypt.encryptor.password=password -jar xx.jar