学习目标:
java持久层框架数据源加密
1、 mybatis框架数据源加密
https://www.cnblogs.com/melovemingming/p/10699613.html
这里是引用https://www.cnblogs.com/melovemingming/p/10699613.html
2、 ibatis框架数据源加密
InputStream is=PropertyUtil.class.getResourceAsReader("/jdbc.properties");
Reader propReader=new InputStreamReader(is);
Properties propertis=new Properties ();
propertis.load(propReader);
String username=propertis.getProperty("jdbc.username");
String password=propertis.getProperty("jdbc.password");
propertis.setProperty("jdbc.username",SecurityUtil.aesDecrypt(username));//解密(此处省略)
propertis.setProperty("jdbc.password",SecurityUtil.aesDecrypt(password));
is.close();
String resource="sqlmap-config.xml";
Reader reader=Resource.getResourceAsReader(resource);
SqlMapClient sqlmap=SqlMapClientBuilder.buildSqlMapClient(reader,propertis);
3、 Hibernate框架数据源加密
import java.util.Properties;
import org.hibernate.HibernateException;
import org.hibernate.cfg.Environment;
import org.hibernate.connection.DriverManagerConnectionProvider;
public class CustomDriverManagerConnectionProvider extends
DriverManagerConnectionProvider {
public CustomDriverManagerConnectionProvider() {
super();
}
@Override
public void configure(Properties props) throws HibernateException{
String user = props.getProperty(Environment.USER);
String password = props.getProperty(Environment.PASS);
props.setProperty(Environment.USER, SecUtil.decrypt(user));
props.setProperty(Environment.PASS, SecUtil.decrypt(password));
super.configure(props);
}
}
https://www.cnblogs.com/huapox/archive/2013/05/01/3516121.html
4、 总结
1.持久层框架配置文件引用jdbc.properties配置文件
2.java读取持久层配置文件
3.解密之前配置文件加密的部分敏感词
4.重写配置文件