后端开发中,有时需要对敏感信息进行加密处理,如数据库密码、私人信息的存储、传输等,在使用的时候再进行解密以获得原始信息。这时候就需要用到加解密算法,这里记录基于jasypt的对称加解密方法:
1、依赖项
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.3</version>
</dependency>
2、工具类
import org.jasypt.util.text.BasicTextEncryptor;
/**
* 文本加解密
* 2022-08-24 ShenHY
*/
public class JasyptUtil {
private static final String jasyptSecret = "密钥字符串";
private static BasicTextEncryptor jasyptEncryptor;
static {
jasyptEncryptor = new BasicTextEncryptor();
jasyptEncryptor.setPassword(jasyptSecret);
}
public static String encode(String msg) {
return jasyptEncryptor.encrypt(msg);
}
public static String decode(String msg) {
return jasyptEncryptor.decrypt(msg);
}
}
3、加解密调用
public Datasource addPfmeMonitorTargetDb(Datasource datasource) {
// 数据库密码加密
datasource.setPassword(JasyptUtil.encode(datasource.getPassword()));
super.save(datasource);
return datasource;
}