因白盒测试的代码安全要求,我们需要对.properties文件里的数据库密码进行加密处理,废话不多说,上代码步骤:
1.增加maven仓库依赖:
<!--数据库配置文件加密的依赖-----开始-------->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>1.9.2</version>
</dependency>
<!--数据库配置文件加密的依赖-----结束-------->
这里需要注意下面的mybatis版本要升级到至少2.0以上版本,我改成2.2.0,否则会报错,启动不起来
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
2.在本地maven仓库里找到刚导入的jasypt-1.9.2.jar的所在位置,例如我本机的位置下:D:\apache-maven-3.6.3\repository\org\jasypt\jasypt\1.9.2,在该文件夹位置下执行cmd的命令:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=此处填写需要加密的原文 password=此处填写秘钥 algorithm=PBEWithMD5AndDES
命令解析:
input:原明文密码
password:自定义密钥
algorithm:使用的加密算法(暂且固定值)
3.将生成的密文写到.properties文件里去,写法:ENC(密文)
4.然后maven仓库重新加载后,重启项目调试,就可以了。
值得注意的是:
加密输入命令:java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=此处填写需要加密的原文 password=此处填写秘钥 algorithm=PBEWithMD5AndDES
解密输入的命令:java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input=加密之后的密文 password=秘钥 algorithm=PBEWithMD5AndDES