- 引入依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
- 在属性文件中配置盐
jasypt:
encryptor:
password: salt
- 在测试类中获取加密后的属性
public static String encryptJasypt(String salt, String key) {
BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
textEncryptor.setPassword(salt);
return textEncryptor.encrypt(key);
}
public static String decryptJasypt(String salt, String key) {
BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
textEncryptor.setPassword(salt);
return textEncryptor.decrypt(key);
}
public static void main(String[] args) {
String s = encryptJasypt("salt", "mypass");
System.out.println(s);
}
aQh9vhMxqfZZNGZouh0VHA==
- 在配置文件中设置加密后的属性(完成)
spring:
datasource:
password: ENC(aQh9vhMxqfZZNGZouh0VHA==)
- 补充:将盐值作为项目启动时的参数传入,而不是写在配置文件里,才能真正提高安全性。