1.引入依赖
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.1.0</version></dependency><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot</artifactId><version>2.1.0</version></dependency><dependency><groupId>org.jasypt</groupId><artifactId>jasypt</artifactId><version>1.9.2</version></dependency>
2.启动类增加@EnableEncryptableProperties
@EnableEncryptableProperties
3.生成加密密码
public class Test {public static void main(String[] args) {StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();EnvironmentPBEConfig config = new EnvironmentPBEConfig();//加密的算法,默认config.setAlgorithm("PBEWithMD5AndDES");//加密的盐config.setPassword("password");standardPBEStringEncryptor.setConfig(config);//需要加密的密码String password = "root";String encrypt = standardPBEStringEncryptor.encrypt(password);System.out.println(encrypt);StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();encryptor.setPassword("password");System.out.println(encryptor.decrypt(encrypt));}
}
4.配置文件密码加密
password: ENC(Kn7cQm1DtLutH/27dTPi3D(Q/ILQbOKK)
加密的密码放在括号里面
5.配置秘钥
#jasypt加密的密匙
jasypt:encryptor:password: root
6.放在配置文件容易泄露,可以配置启动命令
java -jar -Djasypt.encryptor.password=root XXX-xxxx.jar