spring配置连接池,数据库密码加密问题

以下方式配置数据库连接池,使用没问题。
现在我想利用RSA算法加密数据库密码“1234”,不知应该做。谢谢!
[code="java"]









[/code]
[code="java"]
package yxkh.common;

import java.sql.Connection;

public interface DatabaseConnection {

public Connection getConnection();

}
[/code]
[code="java"]
package yxkh.common;

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class TeradataConnection implements DatabaseConnection {
private static Log log = LogFactory.getLog(TeradataConnection.class);

private DataSource dataSource; 

public TeradataConnection() {}

public void setDataSource(DataSource dataSource) {
    this.dataSource = dataSource;
}

public DataSource getDataSource() {
    return dataSource;
} 

@Override
public Connection getConnection() {
    Connection conn = null;

    try {
        conn = dataSource.getConnection();
    } catch (SQLException e) {
        log.error("连接数据库失败", e);
    } 

    return conn;
}

}
[/code]
使用代码
[code="java"]
ApplicationContext ctx = new ClassPathXmlApplicationContext("dataAccessContext.xml");
DatabaseConnection db = (DatabaseConnection) ctx.getBean("dbConn");
...
[/code]

你可以继承org.apache.commons.dbcp.BasicDataSource,重写setPassword方法嘛,解析RSA算法加密数据库密码

配置文件中写入加密后的数据库密码
TeradataConnection 中添加spring的init方法
[code="java"]
public void init(){
BasicDataSource source = (BasicDataSouce)dataSource;
//解密
String decoded = XXXUtils.decode(source.getPassword());
source.setPassword(decoded);
}
[/code]

这种方法入侵太强了,不好,采用如下方法吧:
[url]http://www.yihaomen.com/article/java/420.htm[/url]