springboot配置文件加密方案
程序员文章站
2022-06-13 19:18:24
...
背景
springboot默认以fatjar形式打包,配置文件打在jar包里面的,支持将application配置外置,其他自定义配置文件可以通过设置做到外置,但是随之而来的就是配置文件敏感信息的安全问题,如果解决敏感信息的加密就是我们需要解决的问题。
尝试解决
调研是否存在现有的解决方案,大部分人推推荐jasypt https://github.com/jasypt/jasypt,尝试一下,的确可以起到加密的目的,简单介绍以下如何使用。
如何使用
添加maven依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
对敏感值加密
加密
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=“敏感值” password=密码 algorithm=PBEWITHHMACSHA512ANDAES_256 ivGeneratorClassName=org.jasypt.iv.RandomIvGenerator
解密
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input=“敏感信息加密值” password=密码 algorithm=PBEWITHHMACSHA512ANDAES_256 ivGeneratorClassName=org.jasypt.iv.RandomIvGenerator
配置加密密码
在applicaiton.yml中增加如下配置