使用JNDI模式连接数据库并对配置文件中的密码进行加密

tomcat里面的数据库连接配置是指向:

org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory

我们进入到该jar包中可以看见,这个里面是获取用户名和密码以及其他参数的:

 value = properties.getProperty("password");
        if (value != null) {
            dataSource.setPassword(value);
        }

 value = properties.getProperty("url");
        if (value != null) {
            dataSource.setUrl(value);
        }

 value = properties.getProperty("username");
        if (value != null) {
            dataSource.setUsername(value);
        }

所以我们只需要重新写这个类,并将配置文件里面指向这个重新写的类所在路径(factory="com.chs.core.DecipheringBasicDataSource")

value = properties.getProperty("password");
        if (value != null) {
            //进行解密操作
            Testpass mycrypt = new Testpass();
            String ss2 = mycrypt.getDecryptedString("6678912345678906", value);
            dataSource.setPassword(ss2);
        }

value = properties.getProperty("url");
        if (value != null) {
            dataSource.setUrl(value);
        }

value = properties.getProperty("username");
        if (value != null) {
            dataSource.setUsername(value);
        }

 

你可能感兴趣的:(java基础)