欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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中增加如下配置
springboot配置文件加密方案

对敏感信息替换为加密值

springboot配置文件加密方案

启动项目测试

springboot配置文件加密方案