使用 Druid ,在application.yml 中如果配置了:
druid:
filters: config
connection-properties:config.decrypt=true
就表示 要使用密文加密。
找到druid1.0.18.jar包所在的目录(可以到仓库com\alibaba\druid\1.0.18下找到),执行
java -cp druid-1.0.18.jar com.alibaba.druid.filter.config.ConfigTools you_password
会打印出 publicKey 和 password .
除了添加加密后的密码之外,还要告知 解密的pubilcKey是什么:
在 connection-properties中添加 config.decrypt.key 属性(公钥)
druid:
password: ${password}
filters: config
connection-properties:config.decrypt=true;config.decrypt.key=${publicKey}
我的全部Druid配置如下:
druid:
url: jdbc:mysql://192.168.125.130:3306/whysustore?characterEncoding=utf-8
driver-class: com.mysql.jdbc.Driver
username: root
password: kP/MZSXHWzfuW+LZmNGdHm6OKXdjNxYZIQa7QRln4xswQy7X0DlUUtKL+HPp7RlI2q9zjR89NNrxrFoACCTxEA==
initial-size: 1
min-idle: 1
max-active: 20
test-on-borrow: true
max-wait: 60000
time-between-eviction-runs-millis: 60000
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-While-Idle: true
test-on-return: false
pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20
filters: stat,wall,log4j,config
connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAN+RGShQJm81J1kSnGCBqcxt0WOgp/vxpygiIvHP9I0mPrPac2sBGSSl9lVS+XxI8Jc0vRoXkM+yOwYF87YEe4ECAwEAAQ==
monitor:
enabled: false
druid-stat-view: /druid/*
druid-web-stat-filter: /*
allow: 219.230.50.107,127.0.0.1
deny: 192.168.1.73
login-username: admin
login-password: kP/MZSXHWzfuW+LZmNGdHm6OKXdjNxYZIQa7QRln4xswQy7X0DlUUtKL+HPp7RlI2q9zjR89NNrxrFoACCTxEA==
exclusions: '*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*'
reset-enable: false