如果在Hibernate.cfg.xml配置的用户名和密码配置如下:
<!--连接数据库的用户名-->
<propertyname="connection.username">sa</property>
<!--连接数据库的密码-->
<propertyname="connection.password">123</property>
那怎么感觉都有点不爽,因为如果这样数据库的用户名和密码一下就给别人知道了,有极大的安全隐患,特别是金融系统中,这样的配置更应该避免。
我这里采用对Hibernate的源码进行修改的方式(当然这里的源码最好是和用户当前使用的Hibernate版本相一致,免得到时又引起版本不同的问题),以起到对连接的用户名和密码进行加密码的方式,修改右如下:
<!--连接数据库的用户名-->
<propertyname="connection.username">c92b81768388f76d</property>
<!--连接数据库的密码-->
<propertyname="connection.password">1f65866187612115</property>
准备一个Encode.java,该JAVA实现加密encode和解密方法decode,加密和解密是配对的,先用其加密方法encode对其加密处理,用户名和密码就成了上面的方式,将Encode.java放到org.hibernate.util包下,在类org.hibernate.connection.DriverManagerConnectionProvider的configure方法中,先加上对用户名和密码解密的程序,,加到该方法的最上面,如下:
publicvoidconfigure(Propertiesprops)throwsHibernateException{
Stringuser=props.getProperty(Environment.USER);
Stringpassword=props.getProperty(Environment.PASS);
try{
//对用户名进行解密
props.setProperty(Environment.USER,Encode.decode(user));
//对密码进行解密
props.setProperty(Environment.PASS,Encode.decode(password));
}catch(Exceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
//...
}
这里在后面的处理之前,先解密,就达到了加密解密的效果。
再打包发布就OK了。
分享到:
相关推荐
本文将详细介绍如何利用反射机制来修改已经加载到内存中的`hibernate.cfg.xml`配置文件中的信息,并将这些配置信息提取到其他路径下的过程。 #### 一、了解Hibernate配置文件 在Hibernate框架中,`hibernate.cfg....
NHibernate3.2源程序,还带例子源程序,都是从网上找的,原带的用配置文件hibernate.cfg.xml实来现。DiPiPiDemo的实现不用hibernate.cfg.xml配置文件,这样可以把配置放到任何地方,还可以加密。很有用处。
2. `hibernate.cfg.xml`:Hibernate的配置文件,包含数据库连接信息,实体类映射等设置。 3. `User.hbm.xml`和`User.java`:User实体类的映射文件和实体类,定义了用户对象的属性和数据库表的对应关系。 4. `...
在登录实例中,Hibernate负责将用户信息(如用户名和密码)映射为Java对象,方便进行CRUD(Create、Read、Update、Delete)操作。 3. **Spring**:这是一个全面的企业级应用开发框架,包括依赖注入(DI)、面向切面...
创建`hibernate.cfg.xml`,配置数据库连接信息,包括URL、用户名、密码、驱动类等。同时,定义实体类的映射。 ### 6. 设计数据库模型 创建一个User实体类,包含用户名(username)、密码(password)等字段,并用...
Hibernate的配置文件(hibernate.cfg.xml)用于配置数据库连接和实体类映射。然后,在Struts的动作类中,我们将调用Hibernate的API来处理数据库操作,如查询用户信息。 登录流程通常包括以下步骤: 1. 用户输入...
2. **环境搭建**:配置struts.xml、hibernate.cfg.xml和spring-context.xml文件。struts.xml定义Action和结果,hibernate.cfg.xml设置数据库连接和映射,spring-context.xml配置Bean。 3. **实体类**:创建User实体...
开发者可以定义实体类(如User),映射到MySQL中的用户表,然后通过Hibernate的API查询数据库,查找对应用户名和密码的记录。这极大地减少了手动编写SQL语句的工作量,提高了代码的可维护性。 **MySQL** 是一种流行...
在项目中,创建`hibernate.cfg.xml`配置文件,设定数据库连接参数,如数据库URL、用户名、密码、驱动类等。此外,还需要为每个实体类创建对应的Hibernate映射文件(.hbm.xml),定义实体类与数据库表的映射关系,...
使用Hibernate的`hibernate.cfg.xml`配置文件设置数据库连接参数。 3. **Struts2配置**:在`struts.xml`配置文件中定义Action,这些Action将处理用户的请求。Action通常会调用服务层的方法,这些方法会使用...
接着,进行Hibernate的配置,创建`hibernate.cfg.xml`配置文件,设置数据库连接参数,如数据库URL、用户名、密码、驱动类等。此外,还需要配置实体类的映射文件,通常以`.hbm.xml`格式,它定义了对象与表之间的对应...
在用户登录中,Hibernate可以帮助我们方便地执行SQL查询,验证用户名和密码。 实现步骤如下: 1. **配置SSH框架**:首先,我们需要在项目中引入Struts2、Spring和Hibernate的相关库,并配置它们的配置文件,如...
1. `Hibernate.cfg.xml`:配置Hibernate的数据库连接信息,包括数据库驱动、URL、用户名和密码等。 2. `applicationContext.xml`:配置Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)。 ...
数据库连接通常通过Hibernate配置文件(hibernate.cfg.xml)来设置,包括数据库URL、用户名和密码等信息。 **登录验证流程** 在Struts2+Hibernate+MySQL的环境中通常如下: 1. 用户在Web界面输入用户名和密码,...
在项目"spring hibernate struts login3"中,可能包含了配置文件(如struts.xml、spring.xml、hibernate.cfg.xml)、实体类(User)、DAO接口及其实现、Service类、Action类、以及相关的JSP页面。开发者通过这些文件...
3. 集成Hibernate:配置hibernate.cfg.xml文件,定义数据库连接信息,创建实体类和映射文件(.hbm.xml)。 4. 数据库设计:在MySQL中创建用户表,包含必要的字段(如username和password)。 5. 编写业务逻辑:实现...
此外,项目可能包含一些配置文件,如Hibernate的配置文件(hibernate.cfg.xml)、Spring的配置文件(applicationContext.xml)以及Struts2的配置文件,这些文件详细定义了框架的运行环境和组件间的交互。 总之,...
接下来,配置Hibernate的核心文件`hibernate.cfg.xml`。这个文件包含了数据库连接的详细信息,如驱动类、URL、用户名和密码。此外,还有其他设置,比如连接池大小、SQL方言、会话管理策略、缓存配置和SQL语句的显示...
6. **数据库操作**:使用Hibernate的Session查询数据库,验证用户名和密码是否匹配。 7. **视图展示**:登录成功或失败的结果通过Struts的转发机制,返回对应的JSP页面显示。 在实际开发中,为了提高安全性,还需要...