springboot druid给数据库密码加密

数据库密码直接写在springboot的配置文件中,对安全是一种极大的挑战. 我们使用druid后,需要给数据库密码加密,保证数据库密码不被泄露.

1. 使用druid-xxx.jar生成加密的秘钥和密码

下载druid-xxx.jar,使用如下命令加密你的密码. you_password换成自己的密码.

注意: 使用的druid-xxx.jar必须和我们在项目中引入的druid版本一致
以下以druid-1.1.10.jar为例

java -cp .\druid-1.1.10.jar com.alibaba.druid.filter.config.ConfigTools you_password

他会输出 privateKey, publicKey和password. 我们需要使用publicKey和password,在application.yml中配置.

privateKey:MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkEA6+4avFnQKP+O7bu5YnxWoOZjv3no4aFV558HTPDoXs6EGD0HP7RzzhGPOKmpLQ1BbA5viSht+aDdaxXp6SvtMQIDAQABAkAeQt4fBo4SlCTrDUcMANLDtIlax/I87oqsONOg5M2JS0jNSbZuAXDv7/YEGEtMKuIESBZh7pvVG8FV531/fyOZAiEA+POkE+QwVbUfGyeugR6IGvnt4yeOwkC3bUoATScsN98CIQDynBXC8YngDNwZ62QPX+ONpqCel6g8NO9VKC+ETaS87wIhAKRouxZL38PqfqV/WlZ5ZGd0YS9gA360IK8zbOmHEkO/AiEAsES3iuvzQNYXFL3x9Tm2GzT1fkSx9wx+12BbJcVD7AECIQCD3Tv9S+AgRhQoNcuaSDNluVrL/B/wOmJRLqaOVJLQGg==
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOvuGrxZ0Cj/ju27uWJ8VqDmY7956OGhVeefB0zw6F7OhBg9Bz+0c84RjzipqS0NQWwOb4kobfmg3WsV6ekr7TECAwEAAQ==
password:PNak4Yui0+2Ft6JSoKBsgNPl+A033rdLhFw+L0np1o+HDRrCo9VkCuiiXviEMYwUgpHZUFxb2FpE0YmSguuRww==
2. 配置springboot的application.yml文件
#自定义publickey保存公钥
publickey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOvuGrxZ0Cj/ju27uWJ8VqDmY7956OGhVeefB0zw6F7OhBg9Bz+0c84RjzipqS0NQWwOb4kobfmg3WsV6ekr7TECAwEAAQ==
spring:
    ###########   数据库设置  ###########
  datasource:
    #将生成后加密的密码保存到password中
    password: PNak4Yui0+2Ft6JSoKBsgNPl+A033rdLhFw+L0np1o+HDRrCo9VkCuiiXviEMYwUgpHZUFxb2FpE0YmSguuRww==
    druid:
      # 数据库密码加密 config.decrypt=true 是启用加密 decrypt.key=${publickey}引用上面定义的公钥publickey
      connection-properties: config.decrypt=true;config.decrypt.key=${publickey}
      #config 用于数据库密码加密
      filters: config
      filter:
      # 启用ConfigFilter(启用数据库密码加密)
        config:
          enabled: true
        

配置完成后启动,如果启动成功,证明我们的配置没有问题.

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值