阿里巴巴Druid,轻松实现MySQL数据库加密!(5)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 阿里巴巴Druid,轻松实现MySQL数据库加密!(5)

Druid运行原理


经过上述步骤之后,我们就完成 MySQL 密码的加密了,这样当 Spring Boot 项目启动时,Druid 的拦截器会使用密文和公钥将密码还原成真实的密码以供项目使用,当然这一切都无需人工干预(无需编写任何代码),Druid 已经帮我封装好了,我们只需要通过以上配置即可。


什么?你想知道 Druid 是如何通过密文和公钥还原出真实的密码的?


没问题,满足你,其实 ConfigTools 类中已经提供了相应实现,代码如下:


// 密文
String password = "VwH1mu2IUpqjfKTd+gSikiZgJTi+3Y5zFIFRfxYnH1UqHzm1K8TIHnMaV3TErBaGsVEaGV0e63pb0Ys3Wdm7Kg==";
// 公钥
String publicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALWIEp19IM04sB+vQXnEOH9gFNFdL5TFGSEhORgHj4MnfTfBSNaOoSgCaM8BOpjiHmwuEb7LpvmXI1x/ymUvNzECAwEAAQ==";
// 还原成真实的密码
String result = ConfigTools.decrypt(publicKey, password);
System.out.println("最终结果:" + result);


总结


本文我们使用阿里巴巴开源的 Druid 实现了 MySQL 的密码加密,Druid 的加密过程非常方便,无需编写任何代码,只需要添加 Druid 依赖,再通过 Druid 的工具类生成密文,最后将密文配置到 application.yml 文件即可。项目在运行时会通过拦截器将密文转换成真正的密码,从而实现了 MySQL 密码的加密和解码的过程。


最后


原创不易,如果觉得本文对你有帮助,请点个赞再走吧


如果可以,请随手将它分享到你的朋友圈,让更多需要的人知道,谢谢你。

相关文章
|
4月前
|
druid Java 数据库连接
数据库连接池及Druid使用步骤
数据库连接池及Druid使用步骤
269 2
|
8天前
|
SQL 监控 druid
Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
|
4月前
|
监控 druid Java
Druid【SpringBoot集成】监控数据库报错 Failed to bind properties under ‘‘ to javax.sql.DataSource 解决(含配置源码)
Druid【SpringBoot集成】监控数据库报错 Failed to bind properties under ‘‘ to javax.sql.DataSource 解决(含配置源码)
234 0
|
5月前
|
druid Java 数据库
德鲁伊druid数据库明文密码加密
德鲁伊druid数据库明文密码加密
374 0
德鲁伊druid数据库明文密码加密
|
3月前
|
SQL 存储 关系型数据库
MySQL 时间日期函数,流程控制函数,加密解密函数以及聚合查询函数
MySQL 时间日期函数,流程控制函数,加密解密函数以及聚合查询函数
47 0
|
3月前
|
存储 JSON 安全
使用shiro对数据库中的密码进行加密存储(java+springboot+shiro)
使用shiro对数据库中的密码进行加密存储(java+springboot+shiro)
92 0
|
3月前
|
关系型数据库 分布式数据库 数据库
如何为PolarDB数据库设置透明数据加密(TDE)
如何为PolarDB数据库设置透明数据加密(TDE) 透明数据加密(TDE,Transparent Data Encryption)是PolarDB数据库提供的一种实时I/O加密和解密功能,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密,而不会增加数据文件的大小。开发人员无需更改任何应用程序,即可使用TDE功能。
57 3
|
3月前
|
监控 druid Java
数据库链接池HikariCP、Druid
数据库链接池HikariCP、Druid
|
3月前
|
关系型数据库 网络安全 分布式数据库
如何为PolarDB数据库设置SSL加密以提高链路安全性
如何为PolarDB数据库设置SSL加密以提高链路安全性 为了保障网络安全,提高链路安全性,您可以为PolarDB数据库启用SSL(Secure Sockets Layer)加密,并安装SSL CA证书到相关的应用服务。SSL在传输层对网络连接进行加密,能提升通信数据的安全性和完整性,但可能会增加网络连接响应时间。
57 2
|
4月前
|
SQL druid Java
jdbc(数据库连接池druid)
jdbc(数据库连接池druid)