本文主要介绍了Jasypt对弹簧引导配置文件加密的相关方法、下面话不多说了,来一起看看详细的介绍吧
引入jasypt
& lt; dependency> & lt; groupId> com.github.ulisesbocchio & lt; artifactId> jasypt-spring-boot-starter & lt; version> 2.0.0 & lt;/dependency>
生成要加密的字符串
将数据库的用户名和密码进行加密
公共静态void main (String [] args) { BasicTextEncryptor textEncryptor=new BasicTextEncryptor ();//加密所需的盐(盐) textEncryptor.setPassword (“G0CvDz7oJn6”);//要加密的数据(数据库的用户名或密码) 字符串的用户名=textEncryptor.encrypt(“根”); 字符串密码=textEncryptor.encrypt (“root123”); System.out.println(“用户名:“+用户名); System.out.println(“密码:”+密码); }
输出信息为:
用户名:i8QgEN4uOy2E1rHzrpSTYA==
引用>
密码:6 eamh/RX5oXUVca9ignvtg==
或者使用Maven下载好的jar包加密\ Maven \ org \ jasypt \ jasypt \ 1.9.2 \ jasypt-1.9.2.jar
jasypt-1.9.2 java - cp。jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI密码输入==G0CvDz7oJn6算法=PBEWithMD5AndDES根输出信息为:
- - - - -环境- - - - - - - - - - - - - - - - - -
运行时:甲骨文公司Java HotSpot VM (TM) 64位服务器25.171 b11参数- - - - - - - - - - - - - - - - - - - - - - - -
输入:根
算法:PBEWithMD5AndDES
密码:G0CvDz7oJn6输出- - - - - - - - - - - - - - - - - - - - - - - - - - - -
引用>
Gvkoz + sbFWiRe3ECtizV1A==
拷贝与产出——下的结果即可
将生成的加密串配置ENC(加密串)到application.properties中
#加密所需的盐(盐) jasypt.encryptor.password=G0CvDz7oJn6 #默认加密方式PBEWithMD5AndDES,可以更改为PBEWithMD5AndTripleDES # jasypt.encryptor.algorithm=PBEWithMD5AndDES spring.datasource.username=ENC (6 eamh/RX5oXUVca9ignvtg==) spring.datasource.password=ENC (6 eamh/RX5oXUVca9ignvtg==)加密方式对应的类为BasicTextEncryptor和StrongTextEncryptor
公共BasicTextEncryptor () { 超级(); 这一点。加密机=new StandardPBEStringEncryptor (); this.encryptor.setAlgorithm (“PBEWithMD5AndDES”); } 公共StrongTextEncryptor () { 超级(); 这一点。加密机=new StandardPBEStringEncryptor (); this.encryptor.setAlgorithm (“PBEWithMD5AndTripleDES”); }
类图
为了防止盐(盐)泄露,反解出密码。可以在项目部署的时候使用命令传入盐(盐)值
java jar -Djasypt.encryptor。密码=G0CvDz7oJn6 xxx.jar或者在服务器的环境变量里配置,进一步提高安全性
打开/etc/profile文件
vim/etc/profile文件末尾插入
出口JASYPT_PASSWORD=G0CvDz7oJn6编译
源/etc/profile运行
引用>
java jar -Djasypt.encryptor。密码=$ {JASYPT_PASSWORD} xxx.jar官方地址:https://github.com/ulisesbocchio/jasypt-spring-boot (本地下载)
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
利用Jasypt如何对弹簧引导配置文件加密