druid数据库明文密码加密

253 阅读1分钟

druid数据库明文密码加密

使用druid提供的com.alibaba.druid.filter.config.ConfigTools和明文密码生成私钥、公钥和加密后的密码

java -cp ${**/druid-**.jar} com.alibaba.druid.filter.config.ConfigTools ${明文密码}

**/druid-**.jar即druid的jar包

运行结果如下:

C:\Users\wukongjian>java -cp E:/workspace/Maven/repository/com/alibaba/druid/1.1.14/druid-1.1.14.jar com.alibaba.druid.filter.config.ConfigTools hello,123
 
privateKey:MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAiUTY1Ec8SM3W7SH3JLl8FNzY4EMAwJCIaMhe8zir/vWZeZ5Fzq28yZiU70XJqaXOtgwhrJKpA/cSHmkEPA54awIDAQABAkADxbGTu9VrRsTWRW2uQ66mQB9xokW+BPrKrl71niQT4I+Zc5nInvQLOUBombJBE0AjCoNLUguvyw82CKBkQ3oxAiEAzxlGub5ivogxghtQ+R5K0ZD5R5E6QtSFYXFV7FfSY+MCIQCprn4I1XunYXwpu+tPy4hNahAahXpe0RjZmZ/BMySP2QIgXd5eEUi7JxNCJW/ONuxFC1IDuy2XU71SK4WcZYC06vMCIQCcauxoPFQXAnixCDhtgJSPuJxLtowN5/decI2iTgEAUQIgJB6dyJ/AY9Ep43x5bxQhDg2pVLIM86KzXuCcIvOb+ck=
 
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIlE2NRHPEjN1u0h9yS5fBTc2OBDAMCQiGjIXvM4q/71mXmeRc6tvMmYlO9FyamlzrYMIaySqQP3Eh5pBDwOeGsCAwEAAQ==
 
password:CiCmoA/LwIt2L/ND5HWVzgP0LX8Aj7UQc9i+nGjWXNcOZqet08Fr0p5x+vkEX8YNO5XQvIg5yuoj+0WLayrslA==
  1. privateKey:私钥
  2. publicKey:公钥
  3. password:加密后的密码

在yml配置文件中添加公钥

# 数据库密码公钥
database-password-public-key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIlE2NRHPEjN1u0h9yS5fBTc2OBDAMCQiGjIXvM4q/71mXmeRc6tvMmYlO9FyamlzrYMIaySqQP3Eh5pBDwOeGsCAwEAAQ==

在yml配置文件中将原先数据库密码改为加密后的密码

spring: # spring配置
  ... ...
  datasource: # 数据源配置
    ... ...
    druid: # druid配置
      ... ...
      password: CiCmoA/LwIt2L/ND5HWVzgP0LX8Aj7UQc9i+nGjWXNcOZqet08Fr0p5x+vkEX8YNO5XQvIg5yuoj+0WLayrslA== # 加密后的密码

... ...代表其余配置

在yml配置文件中添加druid的配置

spring: # spring配置
  ... ...
  datasource: # 数据源配置
    ... ...
    druid: # druid配置
      ... ...
      filters: ... ...,config # 添加config过滤器
      connection-properties: config.decrypt=true;config.decrypt.key=${database-password-public-key};... ... # 设置需要解密和设置公钥

... ...代表其余配置

重启应用看是否可以正常使用