一切福田,不離方寸,從心而覓,感無不通。

spring-boot项目使用ulisesbocchio对配置文件敏感信息加密

参考文献github官网地址:https://github.com/ulisesbocchio/jasypt-spring-boot

1、添加依赖:

maven:

 

低版本依赖

 

gradle依赖:

 

2、自定义加密盐值,生成加密结果

 

运行之后得到以下加密结果:

 

3、将结果敏感信息替换成加密后的结果

加密结果需要将ENC(*)包含加密值,Spring加载时会自动解析

 

 

4、加密结果与加密盐值隔离

项目加密配置到这里也就基本完成了,但是为了保证加密数据和加密盐值数据隔离还需采取进一步措施,以确保数据的安全性

注释:加密盐值不应该直接放在代码中,容易造成开发人员泄露数据安全性

Windows启动java虚拟机配置VM options参数,我这里默认是配置3.0.0以上的jar包,如版本低可将后面参数移除掉

配置了虚拟机启动参数,其实和配置yml是一样的,也同样会加载到spring配置文件中,配置成功(此时可将配置文件的加密盐值配置删除掉),

启动Spring同样会成功连接到数据库。

 服务器中配置,同理将java启动虚拟机参数新增配置,这样我们密码盐值就放在了服务器中,就不会造成加密盐值泄漏了

JAVA_OPTS="-Djasypt.encryptor.password=qwera@12345 -Djasypt.encryptor.algorithm=PBEWithMD5AndDES -Djasypt.encryptor.iv-generator-classname=org.jasypt.iv.NoIvGenerator"

 

到这里,配置加密敏感信息应该才算完成。

from:https://blog.csdn.net/Mr_chenchen/article/details/113553046?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-113553046-blog-93360116.pc_relevant_multi_platform_whitelistv2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-113553046-blog-93360116.pc_relevant_multi_platform_whitelistv2&utm_relevant_index=1