一、导入依赖
导入做加密处理的依赖。
<!-- jasypt-spring-boot-starter -->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
二、配置加密使用的盐
这个盐可不是我们生活中吃的盐,是为了提高密文的破解难度增加的盐。
也可以不加盐。
jasypt:
encryptor:
password: 123456
三、编写测试方法
主要是调用
StringEncryptor
接口提供的encrypt()
方法来产生密文。
@Autowired
private StringEncryptor stringEncryptor;
@Test
public void test01() {
String username = stringEncryptor.encrypt("lukeewin");
String password = stringEncryptor.encrypt("123456");
String url = stringEncryptor.encrypt("jdbc:mysql://localhost:3306/ssm_01?serverTimezone=Asia/Shanghai");
System.out.println("username = " + username);
System.out.println("password = " + password);
System.out.println("url = " + url);
}
四、替换配置文件中的url,username,password
不能直接替换,需要使用
ENC()
把密文传递到形参中。
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: ENC(DqiylN4NQpwQ1xjHHi49MFWE+9xnGfjLjh64VCYQ0441egNGQQkriYPM2dMXbI3bYxc1dacoiM/3Wmb+5MAKDE+ffoXn3T2+)
username: ENC(X4/roXdyqtwgNFhsNpZm/4dgjHGenvIK)
password: ENC(VIXpAVkh5Cz5mSpYzP3Q0g==)
Q.E.D.