最近公司有要求,项目中的配置文件不允许明文存储,全部要改为密文,收集了一些资料,在这里做下记录总结。
1、引入依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
2、启动配置注解
在Application启动主类中加入启动注解 @EnableEncryptableProperties
3、配置文件yml里面增加加密算法jasypt配置
jasypt:
encryptor:
# 加密英子 自定义随机字符串
password: 06d698b3d86f519e
# 加密算法
algorithm: PBEWithHmacSHA512AndAES_128
注:加密因子password配置在配置文件中也会涉及到安全问题,更安全的做法是:将其作为系统环境变量的方式来带入。
修改如下:
本地启动可按下图配置:
4、用命令行生成明文对应的密文
找到jasypt.jar包,在此文件夹下执行以下命令行:
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=neo4j password=06d698b3d86f519e algorithm=PBEWithHmacSHA512AndAES_128 ivGeneratorClassName=org.jasypt.iv.RandomIvGenerator
其中
input:为需要加密的明文
password:加密因子,可自定义
algorithm:加密算法,此处固定为 PBEWithHmacSHA512AndAES_128
output: 执行命令行后生成的加密密文,见下图
5、将生成的加密密文配置到yml配置文件中,替换掉之前的明文账号密码
格式为:ENC(加密后的密文)
文章来源:https://www.toymoban.com/news/detail-590890.html
项目启动后即可生效,并且继续使用明文也不影响程序运行。文章来源地址https://www.toymoban.com/news/detail-590890.html
到了这里,关于springBoot配置文件账号密码加密存储(springCloud nacos)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!