一、引入POM
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
二、根据原文和秘钥生成密文
添加依赖后,本地maven仓库路径下,会下载到一个文件 jasypt-1.9.2.jar
使用如下命令,根据原文(敏感信息)和秘钥(自定)生成密文
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
三、将生成的密文加入到配置文件中
注意,需要增加ENC(),将密文添加进去括号中。告诉spring,此处是加密内容,需要解密。例如
spring.datasource.url=ENC(aHMBiWporNNBm3IwftEBu+1zA/v7JsO924+UR3MTxf2YNRBP/jZK1cb88YL/dxtYTxdKUyeWOatTCpZcCgQmwKQ7AIysILRC)
spring.datasource.username=ENC(WG7hK9Q3gi0CfSB560hSBQ==)
spring.datasource.password=ENC(EjmLk30zKbJbaxR0LJEXc2rjE7UwagRp)
四、启动服务
启动服务时,需要指定解密秘钥 jasypt.encryptor.password
命令行启动方式:
java -Djasypt.encryptor.password=此处填写秘钥 -jar xxx.jar
如果是IDE启动,例如eclipse,需要按如下方式配置启动参数