springboot项目使用druid对数据库密码的加解密

作为一名有经验的开发人员,是不习惯将明文直接放在代码中,总觉得有隐患。今天搭建了一个springboot项目,需要集成数据库,调取数据。

在配置 datasource 的时候,想要将密码改为密文,连接数据库时再进行解密(代码中是单数据库源,druid自带解密,配置一下就行),使用的是阿里的druid

1、pom文件引入druid

阿里 Druid为SpringBoot 提供专门的start依赖

2、生成加密的密码、公钥(为解密所用)、秘钥(为加密所用)

有两种方法(本质是一样的)

使用命令:java -cp jar包名 com.alibaba.druid.filter.ConfigTools 需要加密的密码

           注:这里的jar包指的是上图中引入的druid

          在下载下的jar包路径下使用cmd命令行

                         如:java -cp druid-1.1.14.jar com.alibaba.druid.filter.config.ConfigTools 123456

另一种方法是在代码中调用ConfigTools类的入口方法。(其实上边的命令也是调用了ConfigTools类中入口函数)

单元测试调用ConfigTools:

运行结果:

3、application.yml配置

我试过使用下边这种写法:启动不报错,但是链接数据库时提示密码错误。(因为这种写法,不会解密,报错是正常的)

至此,加密解密完成。

值得注意的是DruidDataSource这个类,可以在源码中找到报错信息以及错误原因:如密码不正确,如何锁定到没有解密的这个原因:

这个方法点进去 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值