在项目中,为了提高安全性,需要对配置文件中的部分敏感信息进行加密,如数据库登录密码等。以下是一个简单的数据库密码加密示例,供大家一起学习交流,有不对或者需要改进的地方,请大家多多指教!
一. 未加密情况如下:
1. db配置文件

2. 加载配置文件,获取properties(主要看db.properties文件,redis和rabbitmq可以忽略)

3. 配置数据源(阿里的druid数据库连接池)

二 ,思路:
- 将db.properties文件中的jdbc.password替换成密文
- 在加载配置文件读取属性时,将jdbc.password 解密,再放回容器中
- 数据源配置无需改变
三, 步骤:
- 通过数据库密码(root)及密钥(aaaaaaaa)经过DES加密得到密文,将密文替换掉db.properties文件中的密码明文,如下:

2. 继承PropertyPlaceholderConfigurer类,重写processProperties方法,在方法中将密文进行解密,获取到解密后的数据库密码,再放回容器中


3.数据源配置无需改变

四, 测试结果:
成功加载配置文件及解密并将解密后的jdbc.password(root)放回到容器

用户数据库中表信息

成功读取用户表信息:

即,成功对jdbc.password进行DES加解密,并连接访问数据库。
DES加解密具体实现可查看:DES加密简单封装成工具类
本文介绍了一种在项目中使用DES算法对数据库配置文件中的密码进行加密的方法,以提高系统安全性。通过将密码转换为密文存储,再在运行时解密,确保了敏感信息的安全。文章详细阐述了加密流程、代码实现及测试结果。
1066

被折叠的 条评论
为什么被折叠?



