springboot中使用jasypt对application配置文件中密码进行加密处理

 

1、在pom中增加依赖:

 


2.1.0


   com.github.ulisesbocchio
   jasypt-spring-boot-starter
   ${jasypt.version}

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: 加密时的秘钥

你可能感兴趣的:(spring,boot)