1、pom.xml引入jar依赖
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>
2、application.xml配置加/解密的密码
jasypt.encryptor.password=EbfYkitulv73I2p0mXI50JMXoaxZTKJ7
3、使用StringEncryptor生成加密项的密文
import com.xfz.App; import org.jasypt.encryption.StringEncryptor; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest(classes = App.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class EncryptorTest { @Autowired StringEncryptor encryptor; @Value("${spring.datasource.url}") private String url; @Value("${spring.datasource.username}") private String username; @Value("${spring.datasource.password}") private String password; @Test public void getPass() { String escUrl = encryptor.encrypt(url); String escUsername = encryptor.encrypt(username); String escPassword = encryptor.encrypt(password); System.out.println("------------------------------------------------------------------------"); System.out.println(escUrl); System.out.println(escUsername); System.out.println(escPassword); System.out.println("------------------------------------------------------------------------"); Assert.assertTrue(escUrl.length() > 0); Assert.assertTrue(escUsername.length() > 0); Assert.assertTrue(escPassword.length() > 0); } }
4、替换application.xml加密项为密文
spring.datasource.url=ENC(密文)
spring.datasource.username=ENC(密文)
spring.datasource.password=ENC(密文)