利用Jasypt如何对弹簧引导配置文件加密

  

  

本文主要介绍了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”);   }      

利用Jasypt如何对弹簧引导配置文件加密

  

类图
  

  

  

为了防止盐(盐)泄露,反解出密码。可以在项目部署的时候使用命令传入盐(盐)值

        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如何对弹簧引导配置文件加密