使用Jasypt对SpringBoot配置文件加密(部署时操作)

本文介绍使用Jasypt在SpringBoot中加密配置文件敏感信息的方法,尤其关注部署时的安全加盐策略,确保即使知道加密算法,也无法轻易解密。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Jasypt对SpringBoot配置文件加密(部署时操作)

2019年01月29日 15:21:45 浪丶荡 阅读数:99

版权声明:一家之言,看完就忘了吧 https://blog.youkuaiyun.com/leisure_life/article/details/86690419

上篇介绍了如何使用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));
	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

不加盐,菜就不好吃,那如何安全的加盐(salt)呢?方法有不少,一种是在启动时加
具体操作是,开发阶段正常加密,部署时,盐得这么加

jasypt:
  encryptor:
    password: ${JASYPT_ENCRYPTOR_PASSWORD:}
  • 1
  • 2
  • 3

然后打包成jar,启动时加入盐,按如下命令启动,但缺点是会话已关闭,程序就停止运行了

JASYPT_ENCRYPTOR_PASSWORD=yoursalt java -jar xxxx.jar
  • 1

这就需要以守护进程启动,不妨这样,将上述命令写在一个可执行脚本中,比如s.sh,如何赋予执行权限
再新写一个启动脚本

nohup ./s.sh  > sys.log 2>&1 &
  • 1

以后端进程的方式启动,将日志输出到sys.log中

还有其他一些方式比如命令行方式加盐、将盐配置到环境变量中等等,没试过
具体请参考:https://github.com/ulisesbocchio/jasypt-spring-boot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值