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

你可能感兴趣的:(Mysql,mysql,加密)