首页 > 编程语言 > Springboot项目对数据库用户名密码实现加密过程解析
2020
10-08

Springboot项目对数据库用户名密码实现加密过程解析

pom.xml文件中引入如下内容

<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>1.16</version>
</dependency>

保存pom.xml文件,更新jar

将当前路径切换到jasypt包目录下:

使用如下命令进行密码加密:

java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="password" password=fantasy algorithm=PBEWithMD5AndDES

其中input为需要加密的密码

password为加密时采用的秘钥

algorithm为加密算法,默认算法为PBEWithMD5AndDES

最后得到password加密后的密文:2p9NblOkkwNqsYhDruu5TFPR1RgkL9aH

注意:每次运行得到的结果不一样(不用好奇,都是有效的)

将加密后密码密文配置到spring boot的配置文件的数据源配置选项中

如:spring.datasource.password=ENC(2p9NblOkkwNqsYhDruu5TFPR1RgkL9aH)

在程序中获取到的spring.datasource.password会自动转换成明文内容(password)

注意:密文格式为

ENC(密文)

在java启动的环境变量中设置加密的秘钥

-Djasypt.encryptor.password=fantasy

5.启动项目,正常访问就OK了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

编程技巧