在springboot中,配置数据库等信息时,用户名和密码明文显示会大大降低安全性,在此介绍一种加密方式,简单易用。

添加依赖:

<dependency>
   <groupId>com.github.ulisesbocchio</groupId>
   <artifactId>jasypt-spring-boot-starter</artifactId>
   <version>1.8</version>
</dependency>

在yml文件或properties文件中配置加密参数:

jasypt:
  encryptor:
    password: 123

得到加密后的密码:

@Autowired
    StringEncryptor stringEncryptor;    @Test
    public void encryptPwd() {
        String result = stringEncryptor.encrypt("yourpassword");
        System.out.println(result); 
    }

将加密后的密码配置在yml或properties文件中即可:

datasource:
    url: jdbc:mysql://网段/数据库名
    username: 用户名
    password: ENC(Ipjb1cUctOHmbt6a1qIUjw==) #Ipjb1cUctOHmbt6a1qIUjw==  就是加密后的密码
    driverClassName: com.mysql.jdbc.Driver