前言
SpringBoot项目配置文件一般是properties或者yml文件,项目打包的时候JVM是不进行编译处理的,目前项目中关于类似数据库地址、用户名、密码等都是明文,很容易泄露,造成损失。此文针对于这个问题提供一种解决方案,仅供参考。
技术方案
这里提供一种加解密的技术方案,来提高属性配置的安全性。利用到jasypt包,GitHub地址:https://github.com/ulisesbocchio/jasypt-spring-boot
这个组件需要在项目种配置加密密钥,每次对信息加密后都会得到不同的密文,但是解密都会得到相同的明文,非常适合数据库敏感配置信息的加密。
从项目启动信息来看,jasypt包使用的是默认的PBEWithMD5AndDES算法。
最佳实践
-
引入依赖包
Gradle:
compile group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot-starter', version: '2.1.1'
Maven: