TOMCAT 连接池数据库密码加密方法

上一篇 / 下一篇  2008-02-17 18:53:50 / 个人分类:电脑技术

   Tomcat 连接池写在server.xml里的数据用户以及密码都是明文,这样非常不安全的,如果一但知道了这个数据库名和密码获得,可想而知。
Ns'e P)obp {%L-F0
hL[e2uH I)_Q0
那么如何实现对数据库密码加密呢,,因为喜欢开源,接下来就奉献给大家。
    最开始的想法是通过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"友商社区 fp#\"S.ZIc9{
            type="javax.sql.DataSource"/>
a!xW$rZ&S0?[0           <ResourceParams name="jdbc/test">友商社区}2bm _Ps-w
              <parameter>友商社区Rch2s`~Yd
            <name>factory</name>
)AdV,\7PIe @0         <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>友商社区frMTT
              </parameter>友商社区f4kH,]"~Q#Nc
              <parameter>
2R$@~k+R} E|"|0                 <name>username</name>
I)K jt^:K/R*XXR0                 <value>test</value>
&dS-D+}3~g0              </parameter>
|@KX];`'zp0             
<parameter>
tXb%ia}R P0                 <name>password</name>
hM L4GK z#~D2Bt0                 <value>F11C3DA0F79D0F2AE</value>
0a%qo4?8Q0              </parameter>友商社区/e(K8z:],K3lCE^
              <parameter>
7@C#}*xG0                 <name>driverClassName</name>
qUOc&LQ0                 <value>oracle.jdbc.driver.OracleDriver</value>友商社区8|%a(r}#jy
              </parameter>
^4]`R/g8u%?d*@0              <parameter>
(}:?x0s K5B0                 <name>url</name>
Dcy Ks6iM0                <value>jdbc:oracle:thin:@192.168.0.1:1521:test</value>友商社区H1i5k;MUi:X Kn8Yn
              </parameter>
j.GRn?.Mnkq0              <parameter>
cJ2Q kar E;vS0                 <name>maxActive</name>
W5g c&K#S+@0                 <value>4</value>友商社区D3f(B4r:ua g"{9S
              </parameter>
*J'|"e jUvDIo/`0              <parameter>
7rtY q/u|A0                 <name>maxIdle</name>友商社区)C$[JJ)Nu2DN
                 <value>2</value>
`oScHI1F9v0              </parameter>
U @f-bh{:z+r$c0           </ResourceParams>

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-21  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 1996
  • 日志数: 34
  • 图片数: 1
  • 建立时间: 2007-11-12
  • 更新时间: 2008-10-17

RSS订阅

Open Toolbar