配置文件中的明文密码加密

[[toc]]

步骤一:引入jar包

在 pom.xml 文件中引入依赖

1
2
3
4
5
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>

版本太高可能会报错

步骤二:生成加密串

找到 Maven 下载好的 org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar 所在位置,加密

注意包名!!!不要用错了,不是 com\melloware\jasypt\1.9.4\jasypt-1.9.3.jar

1
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=testpassword password=testKey algorithm=PBEWithMD5AndDES
  • 加密:``java –cp 加密jar包的绝对路径 org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI`

  • 解密:``java –cp 加密jar包的绝对路径 org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI`

  • input=需要加密的字符串(明文密码)

  • password=(密钥)

  • algorithm=加密算法,默认PBEWithMD5AndDES

image-20210906111124966

步骤三:在配置文件中配置

1
2
3
4
5
6
7
8
9
10
11
12
13
datasource:
dynamic:
primary: master
datasource:
master:
username: demo
password: ENC(加密后的字符串)
url: jdbc:mysql://xxxxxx:3306/ddafsdf
# 注意:以下配置项必须在 ENC(加密后的字符串) 的配置项之后,否则报错
jasypt:
encryptor:
# 秘钥
password: test