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==
- privateKey:私钥
- publicKey:公钥
- 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};... ... # 设置需要解密和设置公钥
... ...代表其余配置