1. Apresente o POM
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
2. Gere texto cifrado com base no texto original e na chave secreta
Após adicionar a dependência, ele irá baixar para um arquivo jasypt-1.9.2.jar no caminho do repositório local maven
Use os seguintes comandos para gerar texto cifrado com base no texto original (informações confidenciais) e na chave secreta (personalizada)
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input=此处填写需要加密的原文 password=此处填写秘钥 algorithm=PBEWithMD5AndDES
O resultado do cálculo do algoritmo é diferente a cada vez.
Os comandos de verificação de descriptografia são os seguintes:
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input=加密之后的密文 password=秘钥 algorithm=PBEWithMD5AndDES
3. Adicione o texto cifrado gerado ao arquivo de configuração
Observe que ENC () precisa ser adicionado e o texto cifrado é adicionado entre parênteses. Diga a Spring que este é o conteúdo criptografado e precisa ser descriptografado. Por exemplo
spring.datasource.url=ENC(aHMBiWporNNBm3IwftEBu+1zA/v7JsO924+UR3MTxf2YNRBP/jZK1cb88YL/dxtYTxdKUyeWOatTCpZcCgQmwKQ7AIysILRC)
spring.datasource.username=ENC(WG7hK9Q3gi0CfSB560hSBQ==)
spring.datasource.password=ENC(EjmLk30zKbJbaxR0LJEXc2rjE7UwagRp)
Quarto, inicie o serviço
Ao iniciar o serviço, você precisa especificar a chave de descriptografia jasypt.encryptor.password
Modo de inicialização da linha de comando:
java -Djasypt.encryptor.password=此处填写秘钥 -jar xxx.jar
Se for uma inicialização IDE, como eclipse, você precisa configurar os parâmetros de inicialização da seguinte forma