Druid连接池加密处理

1、起因,代码扫描不合格,配置文件不能使用明文密码。。

2、解决方案:项目使用的是Druid driver 

可以在配置文件中启用ConfigFilter来进行加密操作

3、步骤

  1. 使用
    com.alibaba.druid.filter.config.ConfigTools生成加密密码和公钥。
    public class EncryptPwdUtil {
    
        public static void main(String[] args) {
            try {
                String password = "你的数据库密码";
                String[] arr = ConfigTools.genKeyPair(512);
    
                System.out.println("druidPublicKey:" + arr[1]);
                System.out.println("hashedPassword:" + ConfigTools.encrypt(arr[0], password));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

     

  2. 更改配置文件

# 这里是加密后的密码
spring.datasource.druid.password=U0oBJ0F4rA4uZMp15SyCeSQL9dKICna6lSMrUWG4EhrVUkzSiuPJIAqcgcFeQgP0XDaNNneAQn7CdPpUZPxGaA==
# 这是公钥
app.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIM0BDWk2SCqlvWatlj/x1jiLZwRLu94fI2LkiXRk8mLFeprGCxSxxYeRG8eIf60LzFSpwFbfqDSswxwLBmDE6kCAwEAAQ==
# 配置 connection-properties,启用加密,配置公钥。
spring.datasource.druid.connection-properties=config.decrypt=true;config.decrypt.key=${app.publickey}
# 启动ConfigFilter
spring.datasource.druid.filter.config.enabled=true

 

重新启动服务即可

你可能感兴趣的:(java)