Springboot - druid 数据库密码加密

yml配置

jasypt:
  encryptor:
    password: U3buwRJdQ2023
    algorithm: PBEWithMD5AndDES
# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: yourUrl
                username: yourUsername
                password: AfTgQgleg==
                connectionProperties: config.decrypt=true;config.decrypt.key=MFwwDEEAAQ== 
            # 数据库过滤器
            filter:
                config:
                enabled: true   

password:为你加密后的密码

connectionProperties: config.decrypt=true;config.decrypt.key=你生成的公钥

生成数据

方法一

public class DruidEncryptorUtils {
	public static void main(String[] args) {
		try {
		    String password = "yourPassword";
		    String[] arr = ConfigTools.genKeyPair(512);
		    
		   // System.out.println("privateKey:" + arr[0]);
		    System.out.println("publicKey:" + arr[1]);
		    System.out.println("password:" + ConfigTools.encrypt(arr[0], password));
		} catch (Exception e) {
		    e.printStackTrace();
		}
		
		
	}
}

方法二

 java -cp druid-1.1.22.jar com.alibaba.druid.filter.config.ConfigTools 你的密码

完整配置

# 数据源配置
spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        druid:
            # 主库数据源
            master:
                url: ***
                username: root
                password: ***
                connectionProperties: config.decrypt=true;config.decrypt.key=***
            # 从库数据源
            slave:
                # 从数据源开关/默认关闭
                enabled: false
                url: 
                username: 
                password: 
            # 初始连接数
            initialSize: 5
            # 最小连接池数量
            minIdle: 10
            # 最大连接池数量
            maxActive: 20
            # 配置获取连接等待超时的时间
            maxWait: 60000
            # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
            timeBetweenEvictionRunsMillis: 60000
            # 配置一个连接在池中最小生存的时间,单位是毫秒
            minEvictableIdleTimeMillis: 300000
            # 配置一个连接在池中最大生存的时间,单位是毫秒
            maxEvictableIdleTimeMillis: 900000
            # 配置检测连接是否有效
            validationQuery: SELECT 1 FROM DUAL
            testWhileIdle: true
            testOnBorrow: false
            testOnReturn: false
            webStatFilter: 
                enabled: true
                # 添加过滤规则
                url-pattern: /*
                # 忽略过滤格式
                exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
            statViewServlet:
                enabled: true
                loginUsername: druid
                loginPassword: druid123
                # 设置白名单,不填则允许所有访问
                allow:
                url-pattern: /druid/*
            filter:
                stat:
                    enabled: true
                    # 慢SQL记录
                    log-slow-sql: true
                    slow-sql-millis: 1000
                    merge-sql: true
                wall:
                    config:
                        multi-statement-allow: true
                config:
                    enabled: true   # 数据库过滤器

猜你喜欢

转载自blog.csdn.net/Aoutlaw/article/details/131953237