使用 Jasypt 加密 Spring Boot 配置中的项,例如数据库密码。详细介绍可阅读 Springboot 配置文件、隐私数据脱敏的最佳实践 和 Spring Boot 配置文件密码加密两种方案。
本文主要介绍具体使用部分,注意 jasypt-spring-boot-starter 2.0 和 3.0 的区别。3.0 前后虽然都是使用 jasypt-1.9.3.jar,但是生成密文命令的参数有点区别:
版本 | algorithm 默认值 | iv-generator 默认值 | 加密命令 |
---|---|---|---|
2.1.2 | PBEWithMD5AndDES | org.jasypt.iv.NoIvGenerator | java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=root password=xtuer algorithm=PBEWithMD5AndDES |
3.0.3 | PBEWITHHMACSHA512ANDAES_256 | org.jasypt.iv.RandomIvGenerator | java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=root password=xtuer algorithm=PBEWITHHMACSHA512ANDAES_256 ivGeneratorClassName=org.jasypt.iv.RandomIvGenerator |
提示:
- input 为要加密的内容,password 为加密的密钥
- jasypt-1.9.3.jar 可以从 maven 或者 gradle 本地仓库中找到