TOMCAT 连接池数据库密码可以加密
来源:互联网 发布:中国烟民为什么多 知乎 编辑:程序博客网 时间:2024/06/08 11:19
TOMCAT 连接池数据库密码可以加密
url: http://blog.sina.com.cn/s/blog_49d63c02010006wu.html
2006-12-08 10:05:34
Tomcat 连接池大家应该都用过吧,那写在server.xml里的数据用户以及密码都是明文,这样非常不安全的,如果一但知道了这个数据库名和密码获得,可想而知。
那么如何实现对数据库密码加密呢,,因为喜欢开源,接下来就奉献给大家。
最开始的想法是通过tomcat的源码从catalina.java这个加载类开始找,看连接池是如何加载的,然后修改这个类,重新ant。后来发现不行,这时师哥出马(师哥是高手,高手,高高手,佩服),看到了连接池用的factory类,决定重这个类开始下手。
如果才能把用户名或者是密码使用加密算法进行加密使用呢,这就需要对Tomcat一般依赖dbcp连接池配置。
http://jakarta.apache.org/commons/dbcp/下载commons-dbcp源码包(一定要对用tomcat的版本),对org.apache.commons.dbcp.BasicDataSourceFactory类修改,把数据库密码字段进行解密程序实现,然后重新用ant工具build这个包,覆盖tomcat\common\lib的对应commons-dbcp.jar包就可以了,加密算法和解密算法网上有很多大家自己选择就可以了。
因为server.xml里配置的password字段已经是经过DESede加密了,如下面配置已经用红色标记出来了,所以在org.apache.commons.dbcp.BasicDataSourceFactory可以直接使用解密程序就ok了,如果你想把加密程序也打到包里,自己做吧。
在配置文件连接池内容如下:<Resource name="jdbc/test" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/test">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>test</value>
</parameter>
<parameter>
<name>password</name>
<value>F11C3DA0F79D0F2AE</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@192.168.0.1:1521:test</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
昨天已经配置了几个应用系统,非常好用,大家也试试吧!
- TOMCAT 连接池数据库密码可以加密
- TOMCAT 连接池数据库密码加密方法
- 如何实现Tomcat连接池数据库密码加密
- 如何实现Tomcat连接池数据库密码加密
- 加密连接数据库明文密码
- 阿里巴巴云连接池durid数据库密码加密
- Tomcat连接池加密
- tomcat数据库连接池密码加密
- C#.net 连接SQL Server2000数据库,密码加密
- 虚拟机连接到Oracle数据库 忘记密码了 可以借鉴
- druid 数据库密码加密
- 数据库密码加密
- druid 数据库密码加密
- druid 数据库密码加密
- 数据库账号密码加密
- druid 数据库密码加密
- druid数据库密码加密
- druid 数据库密码加密
- dedecms安装,dedecms教程,dedecms安装教程,80端口屏蔽动态IP无公网IP发布外网
- 地图的加载
- 1407281127-hd-Rock, Paper, or Scissors.cpp
- hdu 2164 石头剪刀布
- iOS_12_tableViewCell的删除更新_红楼梦
- TOMCAT 连接池数据库密码可以加密
- 机器学习的最佳学习资源
- Unofficial Windows Binaries for Python Extension Packages
- 地图的滚动(根据触摸点)
- IOS 应用程序国际化
- ppt转换成pdf转换器免费
- svn命令之冲突解决
- .net 导出excel数据
- 程序那些事:日志记录的作用和方法