在我们日常开发中,我们可能很随意把数据库密码直接明文暴露在配置文件中,在开发环境可以这么做,但是在生产环境,是相当不建议这么做,毕竟安全无小事,谁也不知道哪天密码就莫名其妙泄露了。今天就来聊聊在springboot项目中如何对数据库密码进行加密
方案一、使用druid数据库连接池对数据库密码加密
1、pom.xml引入druid包
为了方便其他的操作,这边直接引入druid的starter
2、利用com.alibaba.druid.filter.config.ConfigTools生成公私钥
ps: 生成的方式有两种,一种利用命令行生成,一种直接写个工具类生成。本文示例直接采用工具类生成
工具类代码如下
3、修改数据库的配置文件内容信息
b、 filter开启config
c、配置connectionProperties属性
ps: spring.datasource.publickey为工具类生成的公钥
附录: 完整数据库配置
2、利用jasypt提供的工具类对明文密码进行加密
加密工具类如下
3、修改数据库的配置文件内容信息
a、 用ENC包裹用JasyptEncryptorUtils 生成的加密串
因为我工具类使用的是加解密的工具类是BasicTextEncryptor,其对应配置加解密就是PBEWithMD5AndDES和org.jasypt.iv.NoIvGenerator
ps: 在生产环境中,建议使用如下方式配置密钥,避免密钥泄露
1、自定义加解密工具类
3、修改数据库的配置文件内容信息
到此这篇springboot数据库密码加密(springboot用户密码加密)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sjkxydsj/19544.html