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

本文详细介绍了如何在SpringBoot项目中使用Druid进行数据库连接的密码加密,包括通过命令行工具和代码方式生成加密密钥,以及在application.yml中配置并确保解密过程的正确实现。遇到的问题和解决方法也一并分享。
摘要由CSDN通过智能技术生成

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

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

1、pom文件引入druid

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

d310167d3557e3f85d4d66a991863277.png

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

763fbe69c78ea1b9d8a86d5d7465020d.png

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

单元测试调用ConfigTools:

60bd3d64e9aba41e2ad76918c5679edd.png

运行结果:

cd33f54442bc344e0f2f8974532f2640.png

3、application.yml配置

bb8b570d58be85c06078b54384a66908.png

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

f8e0803f08848f515186c0dd7331c28c.png

至此,加密解密完成。

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

7052027c14a67ac898ed5dd7b8550ac7.png

这个方法点进去

5838a159fbab3da40ed0d7f13055d52c.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值