数据库使用PROXOOL连接数据库,公司要求用户名和密码在配置文件中要加密:
  <?xml version="1.0" encoding="UTF-8"?>
<datasource>
<proxool>
    <alias>mypool</alias>
    <driver-url>jdbc:mysql://192.168.104.223:3306/upsys?useUnicode=true&amp;characterEncoding=utf8 </driver-url>
    <driver-class>org.gjt.mm.mysql.Driver</driver-class>
    <driver-properties>
      <property name="user" value="upper"/>
      <property name="password" value="{3DES}39dac43a6c7a8e81"/>
    </driver-properties>
    <minimum-connection-count>1</minimum-connection-count>
 <maximum-active-time>99999999</maximum-active-time>    
    <maximum-connection-count>50</maximum-connection-count>
    <house-keeping-sleep-time>120000</house-keeping-sleep-time>
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
  </proxool>
</datasource>
 请问PROXOOL有没有自带的方法可以支持直接读取加密后的密码,或者还有什么更好的方法?(不使用spring等框架)

解决方案 »

  1.   

    再给自己顶,目前想到的方法:
    一个是编写一个配置文件读取类,把解析后的信息传入JDBC的API里;
    一个是修改JDBC的包;
    两种方法都不完美,请高手指教!
      

  2.   

    没用过PROXOOL,不过一般都是在DataSource继承类中实现解密。如:
    public class MyDataSource extends BasicDataSource {

    public MyDataSource() {
    super();
    }

    public void setPassword(String password) {
    this.password = PubVariable.decrypt(password);
    }
    }