一疹瘦、使用jasypt加密
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
1暴拄、增加配置文件jasypt.encryptor.password = AARON@2020,這是加密的秘鑰锈津;
2、所有明文密碼替換為ENC(加密字符串)凉蜂,例如ENC(XW2daxuaTftQ+F2iYPQu0g==)琼梆;
第三步的加密字符串的生成方式為:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=Afei@2018 algorithm=PBEWithMD5AndDES
其中:
input的值就是原密碼。
password的值就是參數(shù)jasypt.encryptor.password指定的值窿吩,即秘鑰茎杂。
BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
//加密所需的salt(鹽)
textEncryptor.setPassword("G0CvDz7oJn6");
//要加密的數(shù)據(jù)(數(shù)據(jù)庫的用戶名或密碼)
String username = textEncryptor.encrypt("root");
String password = textEncryptor.encrypt("root123");
System.out.println("username:"+username);
System.out.println("password:"+password);
將生成的加密串配置ENC(加密串)到application.properties中
# 加密所需的salt(鹽)
jasypt.encryptor.password=G0CvDz7oJn6
# 默認(rèn)加密方式PBEWithMD5AndDES,可以更改為PBEWithMD5AndTripleDES
# jasypt.encryptor.algorithm=PBEWithMD5AndDES
spring.datasource.username=ENC(6eaMh/RX5oXUVca9ignvtg==)
spring.datasource.password=ENC(6eaMh/RX5oXUVca9ignvtg==)
部署時(shí)配置salt(鹽)值
java -jar -Djasypt.encryptor.password=G0CvDz7oJn6 xxx.jar