数据库使用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&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等框架)
<?xml version="1.0" encoding="UTF-8"?>
<datasource>
<proxool>
<alias>mypool</alias>
<driver-url>jdbc:mysql://192.168.104.223:3306/upsys?useUnicode=true&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等框架)
一个是编写一个配置文件读取类,把解析后的信息传入JDBC的API里;
一个是修改JDBC的包;
两种方法都不完美,请高手指教!
public class MyDataSource extends BasicDataSource {
public MyDataSource() {
super();
}
public void setPassword(String password) {
this.password = PubVariable.decrypt(password);
}
}