今天在项目中用到Jasypt进行加密解密,在日常开发中为了数据安全,我们都会对数据库密码进行一系列的加密,Jasypt是一个通用的加解密库,它加密所需的salt(盐),以此做一次记录
加解密流程如下:
1.pom.xml引入坐标
2.配置文件
#加密的密钥
jasypt.encryptor.password= test
#数据配置项
spring.datasource.username= user
spring.datasource.password= ENC(密文)
3.这里附上自己写的jasypt的加解密工具util
public class JasyptUtil {
public static void testEncrypt() {
StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
EnvironmentPBEConfig config = new EnvironmentPBEConfig();
config.setAlgorithm("PBEWithMD5AndDES");
config.setPassword("test");
standardPBEStringEncryptor.setConfig(config);
String plainText = "fAQesbA24";
String encryptText = standardPBEStringEncryptor.encrypt(plainText);
System.out.print(encryptText);
}
public static void testDecrypt() {
StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
EnvironmentPBEConfig config = new EnvironmentPBEConfig();
config.setAlgorithm("PBEWithMD5AndDES");
config.setPassword("test");
standardPBEStringEncryptor.setConfig(config);
String encryptText = "PahR87SWLnG7eUUTRGVHRw==";
String plainText = standardPBEStringEncryptor.decrypt(encryptText);
System.out.print(encryptText);
}
public static void main(String[] args) {
System.out.print("========加密后的密文========");
testEncrypt();
System.out.print("========解密后的明文========");
testDecrypt();
}
}