基于Jasypt对SpringBoot配置文件加密
这篇文章主要介绍了基于Jasypt对SpringBoot配置文件加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
引入jasypt
com.github.ulisesbocchio jasypt-spring-boot-starter 2.0.0
生成要加密的字符串
将数据库的用户名和密码进行加密
publicstaticvoidmain(String[]args){ BasicTextEncryptortextEncryptor=newBasicTextEncryptor(); //加密所需的salt(盐) textEncryptor.setPassword("G0CvDz7oJn6"); //要加密的数据(数据库的用户名或密码) Stringusername=textEncryptor.encrypt("root"); Stringpassword=textEncryptor.encrypt("root123"); System.out.println("username:"+username); System.out.println("password:"+password); }
输出信息为:
username:i8QgEN4uOy2E1rHzrpSTYA== password:6eaMh/RX5oXUVca9ignvtg==
或者使用Maven下载好的jar包加密\Maven\org\jasypt\jasypt\1.9.2\jasypt-1.9.2.jar
java-cpjasypt-1.9.2.jarorg.jasypt.intf.cli.JasyptPBEStringEncryptionCLIpassword=G0CvDz7oJn6algorithm=PBEWithMD5AndDESinput=root
输出信息为:
----ENVIRONMENT----------------- Runtime:OracleCorporationJavaHotSpot(TM)64-BitServerVM25.171-b11 ----ARGUMENTS------------------- input:root algorithm:PBEWithMD5AndDES password:G0CvDz7oJn6 ----OUTPUT---------------------- Gvkoz+sbFWiRe3ECtizV1A==
拷贝-OUTPUT-下的结果即可
配置properties文件
将生成的加密串配置ENC(加密串)到application.properties中
#加密所需的salt(盐) jasypt.encryptor.password=G0CvDz7oJn6 #默认加密方式PBEWithMD5AndDES,可以更改为PBEWithMD5AndTripleDES #jasypt.encryptor.algorithm=PBEWithMD5AndDES spring.datasource.username=ENC(6eaMh/RX5oXUVca9ignvtg==) spring.datasource.password=ENC(6eaMh/RX5oXUVca9ignvtg==)
加密方式对应的类为BasicTextEncryptor和StrongTextEncryptor
publicBasicTextEncryptor(){ super(); this.encryptor=newStandardPBEStringEncryptor(); this.encryptor.setAlgorithm("PBEWithMD5AndDES"); } publicStrongTextEncryptor(){ super(); this.encryptor=newStandardPBEStringEncryptor(); this.encryptor.setAlgorithm("PBEWithMD5AndTripleDES"); }
类图
部署时配置salt(盐)值
为了防止salt(盐)泄露,反解出密码.可以在项目部署的时候使用命令传入salt(盐)值
java-jar-Djasypt.encryptor.password=G0CvDz7oJn6xxx.jar
或者在服务器的环境变量里配置,进一步提高安全性
打开/etc/profile文件
vim/etc/profile
文件末尾插入
exportJASYPT_PASSWORD=G0CvDz7oJn6
编译
source/etc/profile
运行
java-jar-Djasypt.encryptor.password=${JASYPT_PASSWORD}xxx.jar
官方地址: https://github.com/ulisesbocchio/jasypt-spring-boot
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。