- springboot集成jasypt
- 添加依赖
- 配置加密密钥
- 编写测试类,获得加密后的数据
- 用加密后的数据替换配置文件中的内容
- SSM项目集成jasypt
- 添加依赖
- 修改配置文件,配置加密密钥
- 编写测试类,获得加密后的数据
- 用加密后的数据替换properties文件中的内容
com.github.ulisesbocchio jasypt-spring-boot-starter ${jasypt.version}
注意:如果springboot版本是1.X,则jasypt版本不要超过2.0,否则项目启动报错。
配置加密密钥在配置文件中配置加密密钥
jasypt:
encryptor:
password: 自定义的加密密钥
注意:该加密密钥可以通过 java -jar -Djasypt.encryptor.password=自定义的加密密钥进行设置,建议在生产环境中使用
编写测试类,获得加密后的数据
@Autowired
private StringEncryptor stringEncryptor;
private String encrypt(String originPassword) {
return stringEncryptor.encrypt(originPassword);
}
private String decrypt(String encryptedPassword) {
return stringEncryptor.decrypt(encryptedPassword);
}
@Test
public void test01(){
String username = "数据库账号";
String password = "数据库密码";
String encryptUsername = encrypt(username);
String encryptPassword = encrypt(password);
String decryptUsername = decrypt(encryptUsername);
String decryptPassword = decrypt(encryptPassword);
System.out.println("加密前==================");
System.out.println(username);
System.out.println(password);
System.out.println("加密后==================");
System.out.println(encryptUsername);
System.out.println(encryptPassword);
System.out.println("解密后==================");
System.out.println(decryptUsername);
System.out.println(decryptPassword);
}
用加密后的数据替换配置文件中的内容
username: ENC(4VFVUM24U+l8cIBsqDB3n6aUl0Hyss/g) password: ENC(tDCXAEl48I5nbXzpL+gLAg==)
注意:一定要用ENC()包裹,jasypt默认读取被ENC()包裹的内容进行解密。
到此,已经完成了配置文件的加密,可以尝试启动项目
SSM项目集成jasypt 添加依赖修改配置文件,配置加密密钥org.jasypt jasypt-spring31 ${jasypt.version}
数据库等配置一般都是写在properties配置文件中,注释SSM框架中读取properties的bean配置
配置如下bean
编写测试类,获得加密后的数据
public static void fun01(String username, String password, String key){
BasicTextEncryptor encryptor = new BasicTextEncryptor();
encryptor.setPassword(key);
String encryptUsername = encryptor.encrypt(username);
String encryptPassword = encryptor.encrypt(password);
String decryptUsername = encryptor.decrypt(encryptUsername);
String decryptPassword = encryptor.decrypt(encryptPassword);
System.out.println("加密前");
System.out.println("username = " + username);
System.out.println("password = " + password);
System.out.println("加密后");
System.out.println("username = " + encryptUsername);
System.out.println("password = " + encryptPassword);
System.out.println("解密后");
System.out.println("username = " + decryptUsername);
System.out.println("password = " + decryptPassword);
}
用加密后的数据替换properties文件中的内容
username=ENC(AFnRM2Q/k6FwOwlpKGhKE2BN92XLpuLv) password=ENC(TVZproHkE5THCUvK7Nx4Tg==)
注意:一定要用ENC()包裹,jasypt默认读取被ENC()包裹的内容进行解密。
到此,已经完成了配置文件的加密,可以尝试启动项目



