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

第一步,添加依赖

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

第二步,修改配置文件

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

#################################
## 加密配置
## java –cp jar包所在路径\jar包 org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=”数据库密码” password=加密字段,随意设置algorithm=默认PBEWithMD5AndDES加密
## 参数说明:
## input =数据库链接密码
## password=加密字段,随意设置(配置文件中需要添加此密码,相当于约定密码)
## algorithm= 算法,默认PBEWithMD5AndDES
## cmd执行: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
#################################
# 配置加密字段
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)

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐