admin管理员组文章数量:1633111
文章目录
- 前言
- 一、介绍
- 二、依赖
- 三、配置密钥
- 四、生成密文
- 五、配置文件内容使用密文
- 六、部署
前言
- 内容搜集于网上多篇优秀文章,结合自己理解,写下该文
一、介绍
- Jasypt可以对SpringBoot的配置文件内容进行加密,配置文件文件中可能会包含数据库信息,比较敏感,加密可以更安全
二、依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
三、配置密钥
- 使用KeyGenerator指定AES算法生成的密钥
jasypt:
encryptor:
#该密钥只用来生成密文使用,打包时要删掉,否则容易被别人看到密钥来破解密文
password: nBddBGolI6dpngQwt5NzeA==
四、生成密文
- 使用jasypt提供的StringEncryptor可以进行加密、解密
@Autowired
private StringEncryptor encryptor;
//加密
String username=encryptor.encrypt("root");
String password=encryptor.encrypt("Root#1234");//0tVgB3s9O+
五、配置文件内容使用密文
- jasypt默认的格式:ENC(密文)
spring:
datasource:
. . . . . .
password: ENC(0tVgB3s9O+)
六、部署
- 项目使用加载配置文件时要解密,所以还需要提供给jasypt密钥用来解密
- 添加启动参数:
java -jar xxx.jar -Djasypt.encryptor.password=nBddBGolI6dpngQwt5NzeA==
- 或者为了进一步提供安全性,将密钥加入环境变量中(因为环境变量文件的查看需要更高权限)
/etc/profile
export JASYPT_PASSWORD=nBddBGolI6dpngQwt5NzeA==
source /etc/profile
- 启动命令变为:
java -jar xxx.jar -Djasypt.encryptor.password=${JASYPT_PASSWORD}
版权声明:本文标题:jasypt配置文件加密 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729147440a1187838.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论