Mysql连接池使用加密密码

作为一个运维,应该对密码特别的敏感。对于java代码中连接数据库的密码(尤其是在生产环境中),我们一般在配置文件中所写的密码都是通过加密后的密码,而不是直接写上明文密码。

Druid为此提供一种数据库密码加密的手段ConfigFilter。可以直接参考官方文档

一、生成加密密码

1、下载druid包

首先下载druid的jar包,github中的下载地址为https://github.com/alibaba/druid/releases,我这边下载的版本为druid-1.1.23.jar

2、生成加密密码
$ java -cp druid-1.1.23.jar com.alibaba.druid.filter.config.ConfigTools yourpassword

# 输出结果
privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAgvwX2CpXsm/7CbDw6neaccnGWBpfprTAinLh1dnipUZ6ASoxaal/7O8BipvyXcdYIy2K7x4HPN+cQqtaIS5GaQIDAQABAkAB06Y5e42xjWJA5ljVzEk5IQlFHUkMOCUfSS7hHqLMj0PzoS/1EcICqLb8XS0x3PB5xQnRyMGQC7JcZn2V4+DJAiEAvt76BxbhWiCoxaE43aGZjCTJcVdGMtg2Gt10y9VawZMCIQCvremy7yaDymQF1SzeG17/VMtJia1wdR1ZCRsceVnFkwIhAJNdhn8IvE6gno2Pb182kF1yXZFDh7Bj3Eobpzxk6qA/AiA+fu3OG8llxNAESyuk77PBvVZ8GKA8i00faV/dp0XKRQIhAJR3EalZT0JdltuoCaZlQtwhXAsHZ4d7lHIbAUOnoNwA
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIL8F9gqV7Jv+wmw8Op3mnHJxlgaX6a0wIpy4dXZ4qVGegEqMWmpf+zvAYqb8l3HWCMtiu8eBzzfnEKrWiEuRmkCAwEAAQ==
password:FVIsnZNbqm+B0Wpc3klB8dkmLv020OZyXqnyo78YhPXUpMqwTOR+OyrhsNqdWkm92aP8W4C/D8ZZN53xBH4zIA==

将上面命令行中的yourpassword替换为自己的密码即可。执行后会生成3个字符串,分别为:

  • privateKey:私钥
  • publicKey:公钥
  • password:加密后的密码

二、使用

配置文件示例:

spring:
  datasource:
    druid:
      filters: config
      connectionProperties: "config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIL8F9gqV7Jv+wmw8Op3mnHJxlgaX6a0wIpy4dXZ4qVGegEqMWmpf+zvAYqb8l3HWCMtiu8eBzzfnEKrWiEuRmkCAwEAAQ=="
      url: jdbc:mysql://localhost:3306/my_test_db?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
      username: root
      password: FVIsnZNbqm+B0Wpc3klB8dkmLv020OZyXqnyo78YhPXUpMqwTOR+OyrhsNqdWkm92aP8W4C/D8ZZN53xBH4zIA==
      driver-class-name: com.mysql.cj.jdbc.Driver

注意:如果原先已经使用其它filter,直接使用,后面跟上config就行。

filters: stat,config

参考文章:
https://github.com/alibaba/druid/wiki/使用ConfigFilter
https://blog.csdn.net/u010234516/article/details/107654430

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值