给hibernate配置文件加密解密的方案
2012-03-29 15:18
399 查看
Hibernate配置文件hibernate.cfg.xml中存放了我们连接数据库的相关信息,其中设计到许多数据库的敏感信息,比如连接地址,用户名和密码,有时候我们交由发布组进行发布时并不希望他们看到数据库的连接密码,就需要对hibernate配置文件中的部分信息进行加密
给hibernate配置文件加密解密的方案的方案有很多。
第一步:新建自定义的SessionFactionBean,并继承AnnotationSessionFactoryBean
第二步:修改Spring配置文件
这样就可以完成了加密配置文件,参考了http://www.lupaworld.com/tutorial-view-aid-1847.html
如果你的配置密码的地方配置在hibertate属性下面,可以参考http://aguu125.iteye.com/blog/579402
还有更好的方法,可惜没有弄出来。http://sklst.iteye.com/blog/283798 (方案一)
这博客里面提到的【连接供应器】,不知道那里没有配置好,总是没有进去自己建的【连接供应器】
给hibernate配置文件加密解密的方案的方案有很多。
第一步:新建自定义的SessionFactionBean,并继承AnnotationSessionFactoryBean
package com; import javax.sql.DataSource; import org.apache.commons.dbcp.BasicDataSource; import org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean; public class ZtkjAnnotationSessionFactoryBean extends AnnotationSessionFactoryBean { @Override public void setDataSource(DataSource dataSource) { String password =((BasicDataSource) dataSource).getPassword(); //通过ZtkjCryptUtil类进行解密 String decryPassword = ZtkjCryptUtil.decodeStr(password); //重新赋值 ((BasicDataSource) dataSource).setPassword(decryPassword); super.setDataSource(dataSource); } }ZtkjCryptUtil.java是加密和解密类(DES对称加密,大家自己可以写我)
第二步:修改Spring配置文件
<!-- Hibernate配置 --> <bean id="sessionFactory" class="com.ZtkjAnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="namingStrategy"> <bean class="org.hibernate.cfg.ImprovedNamingStrategy" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="hibernate.format_sql">${hibernate.format_sql}</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache/ehcache-hibernate-local.xml</prop> <prop key="hibernate.connection.provider_class">com.ZtkjDriverManagerConnectionProvider</prop> </props> </property> <property name="packagesToScan" value="com.chinacnit" /> </bean>(注:仅修改了第一行代码 class="com.ZtkjAnnotationSessionFactoryBean")
这样就可以完成了加密配置文件,参考了http://www.lupaworld.com/tutorial-view-aid-1847.html
如果你的配置密码的地方配置在hibertate属性下面,可以参考http://aguu125.iteye.com/blog/579402
还有更好的方法,可惜没有弄出来。http://sklst.iteye.com/blog/283798 (方案一)
这博客里面提到的【连接供应器】,不知道那里没有配置好,总是没有进去自己建的【连接供应器】
相关文章推荐
- 给hibernate配置文件加密 解密的方案
- Hibernate的配置文件中用户和密码的加密
- 转贴:ASP.NET2.0中配置文件的加密与解密
- JAVA DES 对配置文件加密解密
- 配置文件加密方案——Derby嵌入式数据库的应用
- Spring加载Properties配置文件的加密解密处理
- ASP.NET2.0中配置文件的加密与解密
- ASP.NET 2.0加密解密Web.config配置文件
- ASP.NET2.0中配置文件的加密与解密
- web.config文件中配置节的加密与解密
- ASP.NET2.0中配置文件的加密与解密(转载)
- Spring cloud config配置文件加密解密
- C# web.config 配置文件的加密与解密,aspnet_regiis
- ASP.NET2.0中配置文件的加密与解密
- ASP.NET2.0中配置文件的加密与解密
- hibernate配置文件加密-base64
- Hibernate配置文件加密解决方案
- ASP.NET2.0中配置文件的加密与解密
- ASP.NET2.0中配置文件的加密与解密
- NET 本地配置文件中存储密码 之 加密解密