Springboot项目对数据库用户名密码实现加密过程解析
作者:丶sky丶fx
这篇文章主要介绍了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了!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。