Spring Boot 初级入门教程(二十一) —— 配置文件密码信息ENC()加密(附源码)
2020年07月12日 11:53:46 SpringBoot ⁄ 共 1438字 暂无评论 ⁄ 被围观 3,226次

在上一篇文章《Spring Boot 初级入门教程(二十) —— 配置文件密码信息自定义算法加密》中,简要介绍了如果通过自定义算法,加密配置文件中的密码,这篇来说说密码加密的另外一种实现方式。

第一步,添加依赖

        <dependency>
            <groupId>com.github.ulisesbocchio</groupId>
            <artifactId>jasypt-spring-boot</artifactId>
            <version>1.18</version>
        </dependency>

第二步,修改配置文件

修改配置文件 application.properties,添加加密字段配置。

  1. #################################  
  2. ## 加密配置  
  3. ## java –cp jar包所在路径\jar包 org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=”数据库密码” password=加密字段,随意设置algorithm=默认PBEWithMD5AndDES加密  
  4. ## 参数说明:  
  5. ## input =数据库链接密码  
  6. ## password=加密字段,随意设置(配置文件中需要添加此密码,相当于约定密码)  
  7. ## algorithm= 算法,默认PBEWithMD5AndDES  
  8. ## cmd执行:java -cp D:\mavenRepository\org\jasypt\jasypt\1.9.2\jasypt-1.9.2.jar org.jasypt.intf.cli  
  9. # .JasyptPBEStringEncryptionCLI input="123456" password=testpassword algorithm=PBEWithMD5AndDES  
  10. #################################  
  11. # 配置加密字段  
  12. jasypt.encryptor.password=testpassword  

第三步,生成加密密码

通过 jar 提供的工具类,生成明文对应的密文密码,命令如下:

java -cp D:\mavenRepository\org\jasypt\jasypt\1.9.2\jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=testpassword algorithm=PBEWithMD5AndDES

运行结果如下:

用生成的密文密码,替换掉原来的明文密码:

特别注意:用 ENC() 把密文密码包起来。

第四步,修改数据源配置

由于上一篇介绍自定义加密时,数据源部分使用了工具类方法来解密密码。但现在这种加密方式,不再需要对密文密码进行解密,SpringBoot 框架会自行解密密码并连接数据库。

修改 FirstDataSourceConfig.java 如下:

第五步,添加注解

在服务入口类 App.java 中添加注解。

第六步,测试

访问接口,测试密码是否好用。

到此,通过 jar 包工具类加密数据库密码大功告成。

源码下载:https://pan.baidu.com/s/1jpj1eDKAsdQ4lo0WVvRc0w(提取码:sk4l)

原文链接:https://blog.csdn.net/tzhuwb/article/details/107284601

给我留言

留言无头像?