网上很多druid加密数据库密码真的非常繁琐,代码写的又难看死了,为了少给大家走弯路就随便写个博客吧,很简单的步骤,其实只要2步就可以解决加密问题,也不需要把公钥展示给任何人看
1、先写一个main函数通过druid提供的方法得到一个密文,私钥和公钥可以不要,也没必要
public static void main(String[] args){
//加密
try {
String miwenofter = ConfigTools.encrypt("fjapp");
System.out.println("加密后"+miwenofter);
} catch (Exception e) {
e.printStackTrace();
}
//解密
try {
String mingwen = ConfigTools.decrypt("TrI3cU/9qCEI872nH7wVjsxpRQimE4BgEZXTORoXre9FTzLV+Qtlyti3HYdA/fITeuBO8R4q4keGAPDobdC3uA==");
System.out.println("解密后:"+mingwen);
} catch (Exception e) {
e.printStackTrace();
}
}
2、在application.yml 添加两行代码即可(最重要的一步也是最后一步,)
spring:
datasource:
druid:
filters: config,wall,stat
connectionProperties: druid.stat.slowSqlMillis=200;druid.stat.logSlowSql=true;config.decrypt=true
实际就是添加1、spring.datasource.druid.filters = config,wall,stat
2、spring.datasource.druid.connectionProperties=druid.stat.slowSqlMillis=200;druid.stat.logSlowSql=true;config.decrypt=true
本人的yml配置文件:
spring:
application:
name: ylzinfo-cloud-app-lzf
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
default-property-inclusion: non_null
decryptKey: test
datasource:
name: test
url: jdbc:oracle:thin:@192.168.44.89:2521/sdsd
username: dbAcount
password: mWqOPO06wedwedwehgevwhIMsm1/yVJ3TIFmgcpHitf1ygL8J3kwXlZtVpdd9vhOCRCzaZK08OEAdYZREzLY3LrvE+sVbmUkoOKw==
druid:
filters: config,wall,stat
connectionProperties: druid.stat.slowSqlMillis=200;druid.stat.logSlowSql=true;config.decrypt=true
如果配置文件不是application.yml,按照原理来都是一样,配置文件都是千篇一律 主要就是
1、spring.datasource.druid.filters = config,wall,stat
2、spring.datasource.druid.connectionProperties=druid.stat.slowSqlMillis=200;druid.stat.logSlowSql=true;config.decrypt=true这两行代码