一、导入依赖

导入做加密处理的依赖。

<!-- 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.


热爱生活,热爱程序