老生常谈的加密问题
这次是对数据库连接属性的加密
一开始接到这个任务感觉很迷茫,刚开始bing了如何登录加密,但是结果不对
后来发现是关键字没搜索对,改成了"数据库连接加密",了解到了加密的过程如下
过程
- 利用加密工具生成加密串
- 在指定数据库连接密码的属性文件中替换原来的明文密码
- 自定义一个数据库连接池,继承你原来明文的时候的连接池就行
- 在指定数据源的配置文件内把数据库连接池指定为自定的连接池
- 重写setPassword方法,方法内是加密工具类的解密方法,把传递的密码赋值为解密后的密码(此时数据库在连接池的帮助下可以读取明文密码)
遗留:
虽然写好了大体,数据库连接也成功了,但是有些残留问题:
- 指定字符集编码没有写
- 貌似访问时间加长了
- 自定义连接池放在哪个包下
总结:
要精准定位自己的问题,方便百度,问人
明确需求和流程之后再思考如何写代码
以上都参考以下链接:源链接
**
2018年12月10日11:09:50新增:
**
本来以为任务完成了,结果要进行JNDI的加密修改,在不能动jar包的情况下如何解决?
刚开始想到了新建一个相似的去弄,后来发现一篇文章写在对应模块(maven分模块开发)下也能实现,只需要在Tomcat的context.xml中的resource标签的factory属性指定值(就是重写的实现类,功能和basicDataSou