上篇介绍了如何使用jasypt对配置文件中的敏感信息进行加密——Spring Boot加密应用配置文件敏感信息(jasypt)
但那只适合开发环境那么操作,因为jasypt是可逆的,如果知道了加密的salt,就能解出密码,
而如果将salt配置在配置文件中,就如给门上了锁又把钥匙插在锁孔,毫无安全意义
解密API
@Test
public void testDecrypt() {
String str = "0S9cYu9xnK/MHezp8mpZOkyIrF59p8p/59/e8hXctl8=";
StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();
encryptor.setPassword("123456");//这里需要是那salt
System.out.println("原文:"+encryptor.decrypt(str));
}
不加盐,菜就不好吃,那如何安全的加盐(salt)呢?方法有不少,一种是在启动时加
具体操作是,开发阶段正常加密,部署时,盐得这么加
jasypt:
encryptor:
password: ${JASYPT_ENCRYPTOR_PASSWORD:}
然后打包成jar,启动时加入盐,按如下命令启动,但缺点是会话已关闭,程序就停止运行了