springboot配置数据库密码加密
出于系统安全的考虑,配置文件中不能出现明文密码的问题,本文就给大家详细介绍下数据库密码加密的方法,需要的朋友可以参考下。
·
出于系统安全的考虑,配置文件中不能出现明文密码的问题,本文就给大家详细介绍下springboot配置数据库密码加密的方法,需要的朋友可以参考下
一、导入依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
二、找到jasypt-1.9.3.jar所在位置,打开cmd
maven仓库:*****\repository\org\jasypt\jasypt\1.9.3(找到自己的maven仓库)

tip:可以在文件夹上方的文件路径处输入cmd并回车
三、执行命令
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="your_password" password=your_key algorithm=PBEWithMD5AndDES
input :明文密码,就是要加密的密码
password:要加的盐(可自己设置)
algorithm:加密算法,这里使用 PBEWithMD5AndDES
结果如下:
----ENVIRONMENT-----------------
Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 11.0.15+10-LTS-19
----ARGUMENTS-------------------
algorithm: PBEWITHHMACSHA512ANDAES_256
input: your_password
password: encryption_key
----OUTPUT----------------------
AbCdEfGhIjKlMnOpQrStUvWxYz0123456789==
OUTPUT下方就是加密后的密码
四、在application.yml文件中将密码改为加密后的
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/lss_admin_v1_1?serverTimezone=UTC&nullCatalogMeansCurrent=true
username: your_username
password: ENC(加密后的密码)
五、传递加密密钥
5.1、方式一:通过启动参数传递
在idea开发工具中设置vm options,添加代码
-Djasypt.encryptor.password=刚刚设置的key,也就是盐

5.2、方式2:在 application.yml 中配置(不推荐,仅用于测试)
jasypt:
encryptor:
password: 刚刚设置的key,也就是盐
spring:
datasource:
url: **********
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)