druid 数据库密码加密

druid ConfigFilter wiki文档

https://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter

生成密钥

cd C:\Users\Administrator\.m2\repository\com\alibaba\druid\1.1.6
java -cp druid-1.1.6.jar com.alibaba.druid.filter.config.ConfigTools {明文密码}

publicKey和password替换到程序中用于登录认证

privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAmUL34mZG/waEjmf0VoeSHSq1HZSRqcGuQLFbP08R5eEyih91ipLgt75fTt1Z7zLOmtJ4aKfAZCsVXNWa1sXsowIDAQABAkAUcF3mj4VAVXowE6T+NS5DPYLR4xJZ9T5r2js1AjJ82YqgDqowXM1PEGp+x3q51ccLSYKF0Y1s79vX+LOf0djBAiEA0M8Mu5hXvhdc15iHzFvkpky/8eQ9nsJMBjTKKk+O5DkCIQC75iayAfXX4XkIu1B4kJiHpN+fuhKiFi0RCTcJLPTvuwIhALVesuObXtNZfaYy8fma9A9S6QKVysREZj6ZyeRYeHhZAiAIuu/PU4H9rs811aYug+FiZAmz3SxidY9QfFIfTgRvYwIhAIVQ4DcahPCeCnGxoPZkoH1LbOiGh/gEYyNYwoUW1fu6
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJlC9+JmRv8GhI5n9FaHkh0qtR2UkanBrkCxWz9PEeXhMoofdYqS4Le+X07dWe8yzprSeGinwGQrFVzVmtbF7KMCAwEAAQ==
password:N93AzgwuNOT59JN392kVbq1Z+Y+V8LXgDLyLfsiM26Xhxk3i/6UMSKJUki1iBJ1seuBJD6GUWg8pyA3epSkZkQ==

修改druid配置文件

1.修改spring.datasource.password

2.新增spring.datasource.publickey

3.修改filters,增加config

4.修改connection-properties,增加config.decrypt=true;config.decrypt.key=${spring.datasource.publicKey}

spring:
  servlet:
    multipart:
      max-file-size: 30MB
      max-request-size: 100MB
  application:
    name: app-service
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db?serverTimezone=UTC&characterEncoding=utf8&&useSSL=false
    username: username
    password: N93AzgwuNOT59JN392kVbq1Z+Y+V8LXgDLyLfsiM26Xhxk3i/6UMSKJUki1iBJ1seuBJD6GUWg8pyA3epSkZkQ==
    publickey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJlC9+JmRv8GhI5n9FaHkh0qtR2UkanBrkCxWz9PEeXhMoofdYqS4Le+X07dWe8yzprSeGinwGQrFVzVmtbF7KMCAwEAAQ==
    type: com.alibaba.druid.pool.DruidDataSource   #这里是配置druid连接池,以下都是druid的配置信息
    filters: stat,wall,log4j,config
    maxActive: 20
    initialSize: 1
    maxWait: 60000
    minIdle: 1
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: select 'x'
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    maxOpenPreparedStatements: 20
    connection-properties: druid.stat.merggSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=${spring.datasource.publickey};

使用jvm参数进行配置

我用的是druid-1.1.6,修改druid配置没有起作用,仍然报Access Denied错误,通过断点ConfigFilter源码发现没有拿到druid配置,最终使用jvm参数方式解决。

-Ddruid.config.decrypt=true
-Ddruid.filters=config,stat,wall,log4j
-Ddruid.config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMMcdmw/AZYSCv7s78gzR+6wC55Ir7kAUHXNZGaE9o1LG9FHbZs3n29k/DB4/fzh5ID8Tgly/lCWoluKYyaFv5kCAwEAAQ==
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪落夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值