springBoot配置文件账号密码加密存储(springCloud nacos)

        最近公司有要求,项目中的配置文件不允许明文存储,全部要改为密文,收集了一些资料,在这里做下记录总结。

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(加密后的密文)

项目启动后即可生效,并且继续使用明文也不影响程序运行。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值