Spring Boot 数据库druid密码加密

26 篇文章 0 订阅
6 篇文章 0 订阅

Spring Boot 数据库druid密码加密

前言

为了避免密码被开发人员获知,对druid数据库密码加密,下面介绍如何实现的。
使用JAR版本:druid-1.1.9.jar

实现步骤

生成公钥、私钥、加密密码

  • 工具类获取
package ba.la.ba.la.common.util;

import com.alibaba.druid.filter.config.ConfigTools;

public class DruidTest {

    public static void main(String[] args) throws Exception {
        // 明文密码
        String password = "abc@123";

        System.out.println("密码[ "+password+" ]的加密信息如下:\n");

        // 获取密码对,参数不能小于512,否则会报错
        String [] keyPair = ConfigTools.genKeyPair(512);
        // 私钥
        String privateKey = keyPair[0];
        // 公钥
        String publicKey = keyPair[1];
        // 用私钥加密后的密文
        password = ConfigTools.encrypt(privateKey, password);

        System.out.println("privateKey:"+privateKey);
        System.out.println("publicKey:"+publicKey);
        System.out.println("password:"+password);
        // 通过公钥和密文密码获取密码明文
        String decryptPassword = ConfigTools.decrypt(publicKey, password);
        System.out.println("decryptPassword:"+decryptPassword);
    }
}
  • 输出结果
密码[ abc@123 ]的加密信息如下:

privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEA5Ifto6WuKXGnMz5vGpo8X9pJOwnYkaYOIlL5lgqQWjPeKCzHRRCNjB0HWIqzcYnDg1DdKK99k1ADyUwV47nfDwIDAQABAkEAiRxkn4KP852Uy1HyJuvSvU+iECHgJcKTSFSwGi1MXlEN00VMk6pX3en7lW5lIX+XzT2N7BAgjX3MdONwv9v6gQIhAPrCxKzTGzD5JkRDyZomYmvVg2i+mm+XCG/lFFnZuzv3AiEA6U5Cp6R9BW71+JOfH1YPlUO4wZgwyT+IW/x9fgkuv6kCIBzZk68eip5Ty+dGtUca62/knL3MUBBOnBXjkTfVKQl5AiBa87x+eFyY2qofbwVQhQ9sJEuJhVg3jIIPQj51/QRxiQIhALF9y9puZxMiSqwCiMu9lkDFH22t4pvN3oqigTlSrksM
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOSH7aOlrilxpzM+bxqaPF/aSTsJ2JGmDiJS+ZYKkFoz3igsx0UQjYwdB1iKs3GJw4NQ3SivfZNQA8lMFeO53w8CAwEAAQ==
password:ygUHR0YYBD0dByVjhX/2/70Q/WOEYVeMutL0eV4hAndFE8/bs1sPhj40xNmy3qeYFISbfJrG0nYGJTQoz/zL3w==
decryptPassword:abc@123

修改数据库配置 yml

  • 修改密码
spring:
  datasource:
    #druid相关配置
    druid:
      #基本属性
      url: jdbc:mysql://balabala.aliyuncs.com:3306/bala_database?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
      username: balabala
      password: ygUHR0YYBD0dByVjhX/2/70Q/WOEYVeMutL0eV4hAndFE8/bs1sPhj40xNmy3qeYFISbfJrG0nYGJTQoz/zL3w==
      connection-properties: config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOSH7aOlrilxpzM+bxqaPF/aSTsJ2JGmDiJS+ZYKkFoz3igsx0UQjYwdB1iKs3GJw4NQ3SivfZNQA8lMFeO53w8CAwEAAQ==
      # 必须添加filter.config.enabled=true,否则不生效
      filter:
        config:
          enabled: true

必须添加filter.config.enabled=true,否则不生效

总结

好,大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值