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了!

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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。