JAVA,hibernate配置文件加密


1.hibernate配置文件

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
          
<hibernate-configuration>
<session-factory>
<property name="dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="connection.url">
<!-- 414E20F534FEB8B270FD9DF02F0DA99D1C918DF8CDED7E3E3933110B5E802474283418AAA2A7F28F16BCAD898CCE81F80A8D3E7328FADD702757C425E1012BBB -->
</property>
<property name="connection.username"><!-- 45D9B350F2020A1C65CC1D57903A98F7 --></property>
<property name="connection.password"><!-- 9DC0AB340B2201765A9B34AF567064B9 --></property>
<property name="connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="connection.provider_class">
com.softicloud.generic.configencrypt.CustomDriverManagerConnectionProvider  //这个是解析回填的类,以下有介绍
</property>
<property name="myeclipse.connection.profile">
breakdown
</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>


<!-- <mapping resource="com/imcc/breakdown/entity/mapping/CMember.hbm.xml" /> -->
</session-factory>


</hibernate-configuration>


2.解析配置文件,并且回填访问数据库

package com.softicloud.generic.configencrypt;


import java.util.Properties;


import org.hibernate.HibernateException;
import org.hibernate.cfg.Environment;
import org.hibernate.connection.C3P0ConnectionProvider;


import com.softicloud.generic.safe.aes.AESEncrypt;
import com.softicloud.generic.scope.Scope;


public class CustomDriverManagerConnectionProvider extends C3P0ConnectionProvider {
/**
* //启动读取
*/
@Override
public void configure(Properties props) throws HibernateException {

/*String url =props.getProperty(Environment.URL); //获取hibernate配置文件的地址
String user = props.getProperty(Environment.USER);  //获取Hibernate配置文件用户名
        String password = props.getProperty(Environment.PASS);   //获取hibernate配置文件密码
*/        
        String url=Scope.getInitialLise().readValue("/config/softicloud/generic/properties/hibernate/jdbcConfig.properties", "connection.url");
        String user=Scope.getInitialLise().readValue("/config/softicloud/generic/properties/hibernate/jdbcConfig.properties", "connection.username");
        String password=Scope.getInitialLise().readValue("/config/softicloud/generic/properties/hibernate/jdbcConfig.properties", "connection.password");
        //解密用户名,添加回去读取连接数据库
        props.setProperty(Environment.USER,AESEncrypt.decode(user, Password.PWD));  
        //解密密码,添加回去读取连接数据库
        props.setProperty(Environment.PASS, AESEncrypt.decode(password, Password.PWD));  
        //解密地址,添加回去读取连接数据库
        props.setProperty(Environment.URL, AESEncrypt.decode(url, Password.PWD)); 
        
        //把所有加密地址解密完了,添加回去
        super.configure(props);  
}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值