简述
目前,在springboot项目开发中,基本都会有一个配置文件,或多或少在配置文件中有你想或者客户想加密的数据,这时jasypt工具就可以帮你实现,对于jasypt在这就不过多的阐述了,反正在开发界蛮受欢迎的,下面开始实践。
(阅读本文大概耗时1分钟)
实践
前置条件
spring boot +maven项目
1、导入jasypt依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
然后会在你的项目 jar 包里有这几个:
然后在配置文件设置加解密的key,这个key的长度尽量大于等于8,字符内容在非中文下随你组织。
然后在jasypt-1.9.3.jar所在的文件夹下打开命令窗口并执行以下命令:
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="gfjj@123456" password=ypk
将加密后的 字符串 复制到你的配置文件对应的属性中, 并用 ENC()括住 ,
OK,然后,我们建一个测试配置类读取这个属性值,看看是不是会自动帮我们自动解析:
实践成功,打印结果与明文一样。
总结
以后配置像数据库密码、 Redis 密码等敏感数据,我们就可以使用上面的方式,加密后再放到配置文件中。 当然上面使用的jasypt-spring-boot-starter是2.x.x版本的,3.x.x版本有些许变化,我会在下一篇文章继续做阐述相关用法。