1、在pom中增加依赖:
<!-- plugins --> <jasypt.version>2.1.0</jasypt.version>
<!-- jasypt --> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>${jasypt.version}</version> </dependency>
2 生成密文:
= import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; public class A { public static void main(String[] args) { StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); encryptor.setPassword("XXXXXXXXXXX");//yml文件里设置的key String host = encryptor.encrypt("xxxxxx");//要加密的密码 System.out.println(host); } }
3、在配置文件application.yml中使用密文作为数据库密码,配置秘钥
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://数据库地址?characterEncoding=utf-8&allowMultiQueries=true username: 用户名 password: ENC(加密之后的密文) max-active: 50 initial-size: 10 max-wait: 60000 max-idle: 20 min-idle: 10 validation-query: select 1 #validationQuery是检查时用的sql语句 test-while-idle: true test-on-borrow: true test-on-return: false time-between-eviction-runs-millis: 60000 #隔多少时间回收废弃连接 一般比minEvictableIdleTimeMillis小 min-evictable-idle-time-millis: 300000 jasypt: encryptor: password: 加密时的秘钥