当前位置:首页 » 密码管理 » hibernate密码加密

hibernate密码加密

发布时间: 2023-01-11 12:49:44

⑴ 如何使用MD5对密码进行加密后再保存到数据库

对!!
你数据库里的密码是经过md5加密过的,登录时你输入密码后系统会把你的密码进到md5加密,然后再与数据库里的加密的md5码进行对比!!这是为了防止恶意程序进行监听你的密码!!

⑵ Hibernate 问题

datasource.driverClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver ---注册jdbc驱动名称
datasource.url=jdbc:sqlserver://localhost:1433;--注册jdbc url地址 DatabaseName=newjspdev ---数据库名称
datasource.username=javaee --数据库用户名
datasource.password=javaee --数据库密码
datasource.maxActive=10 --表示连接池的最大连接数量10
datasource.maxIdle=2 --表示连接池的空闭数量2
datasource.maxWait=120000 --最长连接等待时间是120000毫秒
datasource.defaultAutoCommit=true --自动提交为true(就是不用自己写commit语句了)
datasource.whenExhaustedAction=1 --指定在池中借出对象的数目已达极限的情况下,调用它的borrowObject方法时的行为datasource.validationQuery=select 1 from al --验证连接是否成功(sqlserver没有al这张表吧,应该是oracle数据库才用这个语句验证的吧)
datasource.testOnBorrow=true
datasource.testOnReturn=false

hibernate.dialect=org.hibernate.dialect.SQLServerDialect
hibernate.jdbc.batch_size=25
hibernate.jdbc.fetch_size=50
hibernate.show_sql=true --在后台显示执行的sql语句
hibernate.hbm2ddl.auto=create-drop --可以帮助你实现正向工程,即由java代码生成数据库脚本,进而生成具体的表结构.
(
它包含4个属性:

create : 会根据你的model类来生成表,但是每次运行都会删除上一次的表,重新生成表,哪怕2次没有任何改变

create-drop : 根据model类生成表,但是sessionFactory一关闭,表就自动删除

update : 最常用的属性,也根据model类生成表,即使表结构改变了,表中的行仍然存在,不会删除以前的行

validate : 只会和数据库中的表进行比较,不会创建新表,但是会插入新值
)

⑶ struts2和hibernate项目整合的登录后修改密码怎么写求思路和关键代码

	我是分为新密码和旧密码
旧密码也就是登陆的密码可以在session中获取
新密码是刚输入的密码
如果新密码和旧密码一致就新建数据库连接写个更新密码的语句
加入了md5加密,新旧密码对比前要先用md5转换一下,你可以把这个功能去掉,最下面是md5的工具类

ppublicStringupdatepwd(){
Usersu=(User)ServletActionContext.getRequest().getSession().getAttribute("users");
UserServices=newUserService();
if(su.getPassword().equals(StringUtils.getMd5(user.getOldpwd()))){
if(user.getNewpwd().equals(user.getRepwd())){
if(s.updatepwd(StringUtils.getMd5(user.getNewpwd()),su.getId())){
ActionContext.getContext().put("msg","密码修改成功,请重新登陆!");
ServletActionContext.getRequest().getSession().invalidate();
return"login";
}else{
ActionContext.getContext().put("msg","密码修改失败!");
return"up_error";
}
}else{
ActionContext.getContext().put("msg","确认密码不一致!");
return"up_error";
}
}else{
ActionContext.getContext().put("msg","原密码错误!");
return"up_error";
}
}
publicbooleanupdatepwd(Stringpwd,Integerid){
returnnewUserDao().updatepwd(pwd,id);
}
publicBooleanupdatepwd(Stringpwd,Integerid){

Sessionsession=HibernateUtils.getSession();
Transactiontr=session.beginTransaction();
Queryquery=session.createQuery("UpdateUsersetpassword=?whereid=?");
query.setString(0,pwd);
query.setInteger(1,id);
inti=query.executeUpdate();
tr.commit();
if(i>0){
returntrue;
}else{
returnfalse;
}
}
ackagecom.yh.utils;

importjava.math.BigInteger;
importjava.security.MessageDigest;
importjava.security.NoSuchAlgorithmException;

publicclassStringUtils{
/**
*判断字符串是否为空,包括null和“”
*@paramstr
*@return
*/
publicstaticbooleanisNotBlank(Stringstr){
returnstr!=null&&str.trim().length()>0;
}
/**
*对字符串进行MD5加密
*@paramstr:加密前的一个字符串
*@return:32位加密后的字符串
*/
publicstaticStringgetMd5(Stringstr){
Stringmd5Str="";
try{
MessageDigestmd=MessageDigest.getInstance("md5");
byte[]bytes=md.digest(str.getBytes());
BigIntegermd5String=newBigInteger(1,bytes);
md5Str=md5String.toString(16);//转换后,一般会是一个32位的字符串
//如果加密后的字符串不到32位,需要在字符串前添加0.补足32位
for(inti=0;i<32-md5Str.length();i++){
md5Str=("0"+md5Str);
}
}catch(NoSuchAlgorithmExceptione){
e.printStackTrace();
}
returnmd5Str;
}

publicstaticvoidmain(String[]args){
Stringstr=StringUtils.getMd5("123");
System.out.println(str);
}

}

⑷ hibernate有哪些配置文件

主要是两类,
1)一个总体用的hibernate.cfg.xml,比如设置数据库用户名、密码、常量、映射文件位置等等信息的地方,这个文件整个hibernate项目只用一个就可;
2)每个实体映射都有一个***.hbm.xml文件,即实体映射文件,里面写的是数据库和实体类的映射配置,包含关系映射或继承映射等等;比如Student.java实体类就用Student.hbm.xml这个映射文件;所以一个hibernate项目往往有多个配置文件。不过这些配置也可以以注解(Annotation)形式写在实体类里面。hibernate支持标准的JPA标准注解。

⑸ hibernate连写数据库时,如何设置

Hibernate与各种数据库连接的配置

1. Oracle连接配置
Oracler数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<!-- JDBC URL -->
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:dbname</property>
<!--数据库用户名-->
<property name="connection.username">test</property>
<!--数据库密码-->
<property name="connection.password">test</property>
上例使用的驱动类为:oracle.jdbc.driver.OracleDriver,开发人员需要将相关的jar包(ojdbc14.jar)加入到classpath中。

2. MySql连接配置
MySql数据库的hibernate连接设置,在hibernate.cfg.xml文件中
<hibernate-configuration>
<session-factory>
<!--各属性的配置-->
<!—为true表示将Hibernate发送给数据库的sql显示出来 -->
<property name="show_sql">true</property>
<!-- SQL方言,这边设定的是MySQL -->
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<!--一次读的数据库记录数 -->
<property name="jdbc.fetch_size">50</property>
<!--设定对数据库进行批量删除 -->
<property name="jdbc.batch_size">30</property>
<!--驱动程序-->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- JDBC URL -->
<property name="connection.url">jdbc:mysql://localhost/dbname?
characterEncoding=gb2312</property>
<!--数据库用户名-->
<property name="connection.username">root</property>
<!--数据库密码-->
<property name="connection.password">root</property>
<!—映射文件 -->
<mapping resource="com/amigo/pojo/User.hbm.xml"/>
<mapping resource="com/amigo/pojo/Org.hbm.xml"/>
</session-factory>
</hibernate-configuration>
上面使用的驱动类是com.mysql.jdbc.Driver.需要将MySql的连接器jar包(eg. mysql-connector-java-Dbname为数据库名字5.0.4-bin.jar)加入到classpath中。

3. Sql Server连接配置
Sql Server数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:jtds:sqlserver://localhost:1433;DatabaseName=dbname</property>
<!--数据库用户名-->
<property name="connection.username">sa</property>
<!--数据库密码-->
<property name="connection.password"></property>
上例的驱动类使用的是jtds的驱动类,因此读者需要将jtds的jar包(eg. jtds-1.2.jar)加入到classpath中

4. DB2连接配置
DB2数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class"> com.ibm.db2.jdbc.app.DB2Driver</property>
<!-- JDBC URL -->
<property
name="connection.url"> jdbc:db2://localhost:5000/sample </property> //sample为数据库名
<!--数据库用户名-->
<property name="connection.username">admin</property>
<!--数据库密码-->
<property name="connection.password"></property>
上例使用的驱动类为:com.ibm.db2.jdbc.app.DB2Driver,开发人员需要将相关的jar包(db2jcc.jar)加入到classpath中。

5.sybase连接配置
sybase数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">com.sybase.jdbc.SybDrive</property>
<!-- JDBC URL -->
<property
name="connection.url"> jdbc:sybase:Tds:localhost:5007/myDB</property> ;//myDB为数据库名
<!--数据库用户名-->
<property name="connection.username">userid</property>
<!--数据库密码-->
<property name="connection.password">user_password</property>
上例使用的驱动类为:com.sybase.jdbc.SybDrive,开发人员需要将相关的jar包(jconn3.jar)加入到classpath中。

6. informix连接配置
informix数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">com.informix.jdbc.IfxDrive</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver </property> ;//myDB为数据库名
<!--数据库用户名-->
<property name="connection.username">testuser</property>
<!--数据库密码-->
<property name="connection.password">testpassword</property>
上例使用的驱动类为:com.informix.jdbc.IfxDrive,开发人员需要将相关的jar包(ifxjdbc.jar)加入到classpath中。

7.PostgreSQL连接配置
PostpreSQL数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">org.postgresql.Driver</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:postgresql://localhost/myDB</property>;//myDB为数据库名
<!--数据库用户名-->
<property name="connection.username">myuser</property>
<!--数据库密码-->
<property name="connection.password">mypassword</property>
上例使用的驱动类为:com.informix.jdbc.IfxDrive,开发人员需要将相关的jar包(postgresql-8.1-405.jdbc3)加入到classpath中。

8.access连接配置
access数据库的hibernate在配置文件中配置。
连接部分
<!--驱动程序-->
<property name="connection.driver_class">sun.jdbc.odbc.JdbcOdbcDriver</property>
<!-- JDBC URL -->
<property
name="connection.url">jdbc:odbc:Driver={MicroSoft..Access..Driver(*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb")</property> ;//myDB为数据库名
<!--数据库用户名-->
<property name="connection.username">myuser</property>
<!--数据库密码-->
<property name="connection.password">mypassword</property>

⑹ hibernate.properties和hibernate.cfg.xml的区别

hibernate.properties和hibernate.cfg.xml的区别

<img src=img/china.jpg border=0 usemap="#Map" />
<map name=Map id="Map">
<area shape="poly" coords="567,417,562,420,557,420,552,422,552,431,549,437,545,442,546,452,538,460,538,468,543,473,551,483,556,486,563,492,574,477,581,468,588,455,589,441,597,429,594,425,586,423,577,425,574,423,569,415,fg580,441,580,422" href="img/onepiece.jpg" />
<area shape="poly" coords="619,456,617,459,610,471,606,478,604,487,604,497,610,506,615,511,621,496,626,472,626,461,617,479" href="test3." />

hibernate.cfg.xml和hibernate.properties的区别

1. 如果采用properties文件作为配置文件
那么初始化的代码大致为:
Configuration config = new Configuration();
config.addClass(myclass.class);
2. 如果配置文件为XML,则
Configuration config = new Configuration().config();
XML文件格式的配置文件不支持addClass方法!
这是因为在配置文件XML文件中,已经定义了Mapping文 件,因此就不需要在用编码方式导入POJO文件了。

hibernate.cfg.xml在哪

项目需要构建一个Java环境,使用Hibernate作为数据持久层,一兄弟按照网上的说法配置了hibernate,结果搞了几天都没搞好,总是报错“Could not find datasource”,最后还是我自己动手在自己机器上配个环境才引导他弄好。
要配好Hibernate首先的弄清楚Java在寻找hibernate.cfg.xml这个文件的时候在哪些目录中寻找,Java将在以下目录中寻找hibernate.cfg.xml这个文件:
webappsname/WEB-INF/classes/
TOMCATHOME/
TOMCATHOME/lib
所以我们的hibernate.cfg.xml务必放在webapp的WEB-INF/classes/目录下了,放在其他目录下都不是很合适。
另外就是关于hibernate.cfg.xml中的jdbc配置了,网上的说法各异,其实最简单的就是在hibernate.cfg.xml中直接使用jdbc配置了,如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<!DOCTYPE hibernate-configuration PUBLIC “-Hibernate/Hibernate Configuration DTD 3.0EN” “:hibernate.sourcefe./hibernate-configuration-3.0.dtd”>
<hibernate-configuration>
<session-factory>
<property name=”hibernate.connection.driver_class”>.mysql.jdbc.Driver</property>
<property name=”hibernate.connection.url”>jdbc:mysql:localhost/test</property>
<property name=”hibernate.connection.username”>root</property>
<property name=”hibernate.connection.password” />
<property name=”show_sql”>false</property>
<property name=”dialect”>.hibernate.dialect.MySQLDialect</property>
<mapping resource=”hb/Cat.hbm.xml” />
</session-factory>
</hibernate-configuration>
更改其中的driverclass和connection.url、username、password和dialect,再添加一些mapping就可以了,需要注意的是property节点的name属性中最好在前面加上hibernate。有些文章说使用Tomcat的JNDI,不建议这么做。同时要注意的是在hibernate.cfg.xml不要同时使用datasource和连接字符串两种配置(那个兄弟非要使用两种配置结果来不成功),因为没有必要。
其实从部署的角度来看的话,就应该是这样的,首先在生产环境下,很多时候是没有办法拿到Tomcat的管理权限的是配不了JNDI的,而且要去配JNDI无形增加的部署的难度,在hibernate.cfg.xml中配置连接字符串就很方便部署(Hibernate要是像.中那样支持连接字符串加密就好了)。hibernate.cfg.xml存放的位置也是一样的,放在WEB-INF/classes/目录下,部署的时候只要拷贝webapp整个目录就可以完成部署了。
网上的文章用来做参考最好,很多东西还得靠自己领会,特别是碰到问题的时候,尽心书不如无书嘛(也别太相信我写的,说不定那天不管用了。^_^)。
附:使用Tomcat JNDI 数据源配置方法
<?xml version=”1.0″ encoding=”utf-8″ ?>
<!DOCTYPE hibernate-configuration PUBLIC “-Hibernate/Hibernate Configuration DTD 3.0EN” “:hibernate.sourcefe./hibernate-configuration-3.0.dtd”>
<hibernate-configuration>
<session-factory>
<property name=”hibernate.connection.datasource”>java:p/env/jdbc/odbcq</property>
<property name=”show_sql”>false</property>
<property name=”dialect”>.hibernate.dialect.MySQLDialect</property>
<mapping resource=”hb/Cat.hbm.xml” />
</session-factory>
</hibernate-configuration>
参考博客::blogs./haquanwen/p/3812611.

ireport 中 hibernate.cfg.xml not found, 怎么把hibernate.cfg.xml包括进classpath,只能import jar包

在对应的工程右键新建一个hibernate.cfg.xml 就OK!

hibernate.cfg.xml放在哪

放到那不重要,关键用的时候你得找到(一般都放到根目录下)
sessionFactory = new Configuration().configure("/hibernate.cfg.xml").buildSessionFactory();

hibernate.cfg.xml文件中怎么引入properties文件

在实际开发中一般都是hibernate.properties和hibernate.cfg.xml结合使用。一般在属性文件hibernate.properties中存放数据库连接相关的操作数据,在hibernate.cfg.xml文件中存放映射配置,在Users.hbm.xml(.hbm.xml之前的Users时自定义的,可以一个实体类对应一个.hbm.xml文件,也可以多个实体类对应一个.hbm.xml文件)。

之前是将属性和映射配置都存放在hibernate.cfg.xml,如下:

[java]view plain

  • <spanclass="page_speeder_714273920"><!DOCTYPEhibernate-configurationPUBLIC

  • "-Hibernate/HibernateConfigurationDTD3.0EN"

  • ":hibernate./dtd/hibernate-configuration-3.0.dtd">

  • <hibernate-configuration>

  • <session-factory>

  • <!--配置数据库访问信息-->

  • <propertyname="dialect">

  • .hibernate.dialect.MySQLDialect

  • </property>

  • <propertyname="connection.driver_class">

  • .mysql.jdbc.Driver

  • </property>

  • <propertyname="connection.url">

  • jdbc:mysql:localhost:3306/o

  • </property>

  • <propertyname="connection.username">

  • root

  • </property>

  • <propertyname="connection.password">

  • root

  • </property>

  • <!--在控制台显示sql语句-->

  • <propertyname="show_sql">true</property>

  • <!--自动生成或更新数据库表-->

  • <propertyname="hbm2ddl.auto">update</property>

  • <!--注册映射文件-->

  • <mappingresource="/study/po/Users.hbm.xml"/>

  • </session-factory>

  • </hibernate-configuration></span>

  • 上面这种方式来定义属性和映射配置是可以,但是现在开发是将属性定义和映射配置分开,这样可以使得结果更加清晰,需要修改属性就去hibernate.properties文件修改,需要修改映射配置就在hibernate.cfg.xml中去修改。
  • 比如:

    1.在hibernate.properties中配置连接数据库需要的属性:

    [java]view plain

  • <spanclass="page_speeder_714273920">hibernate.dialect=.hibernate.dialect.MySQLDialect定义方言(定义优化的sql语句)

  • hibernate.connection.driver_class=.mysql.jdbc.Driver

  • hibernate.connection.url=jdbc:mysql:localhost:3306/firstdb?characterEncoding=utf8

  • hibernate.connection.username=root

  • hibernate.connection.password=root

  • hibernate.show_sql=true表示是否输出操作数据库的语句

  • hibernate.format_sql=true表示是个格式化输出sql语句

  • hibernate.hbm2ddl.auto=update表示是否根据映射文件自动创建数据库表</span>

  • 注:hibernate.hbm2ddl.auto的值为create表示每次运行都会新建表;值为create-drop是在关闭SessionFactory时删除仙剑表;值为update(常用值)时表示如果第一运行时数据库没有对应表,那么会新建表,但是如果存在对应数据表,就不再创建对应的数据表。
  • 2.在hibernate.cfg.xml中进行映射配置(注册映射文件):

    [java]view plain

  • <spanclass="page_speeder_714273920"><!DOCTYPEhibernate-configurationPUBLIC

  • "-Hibernate/HibernateConfigurationDTD3.0EN"

  • ":hibernate./dtd/hibernate-configuration-3.0.dtd">

  • <hibernate-configuration>

  • <session-factory>

  • <!--注册映射文件-->

  • <mappingresource="/study/po/Users.hbm.xml"/>

  • </session-factory>

  • </hibernate-configuration></span>

  • 3.在Users.hbm.xml中配置持久化(实体,pojo)类和数据库表的映射:
  • [java]view plain

  • <spanclass="page_speeder_714273920"><?xmlversion="1.0"?>

  • <!DOCTYPEhibernate-mappingPUBLIC

  • "-Hibernate/HibernateMappingDTD3.0EN"

  • ":hibernate./dtd/hibernate-mapping-3.0.dtd">

  • <hibernate-mappingpackage=".study.po">

  • <classname=".study.po.Users"table="users">

  • <!--主键-->

  • <idname="id"column="id">

  • <!--主键生成方式:自动生成-->

  • <generatorclass="native"/>

  • </id>

  • <propertyname="username"column="usernames"type="java.lang.String"not-null="true"/>

  • <propertyname="password"column="passwords"type="java.lang.String"not-null="true"/>

  • </class>

  • </hibernate-mapping></span>

  • 上面是Users.hbm.xml中具体数据,配置内容可以依照如下格式:
  • [java]view plain

  • <spanclass="page_speeder_714273920"><hibernate-mapping属性=”值”>

  • <classname="类名"table="表名">

  • <!--主键-->

  • <idname="主键属性名"column="表主键列名">

  • <!--主键生成方式-->

  • <generatorclass="生成方式"/>

  • </id>

  • <propertyname="属性"column="列名"type="数据类型"not-null="true"/>

  • <propertyname="password"column="passwords"type="java.lang.Integer"not-null="true"/>

  • </class>

  • </hibernate-mapping></span>

  • 主键:在Hibernate中持久化类都会有一个标识属性,用于标识实例的唯一,该属性映射到数据库表的主键。
  • 主键生成器:<generator class="生成方式"/>
  • 生成方式的值有:

    increment:表示获取数据库中表最大主键值,并+1后作为新的主键。

    identity:自动增长,主要使用在mysql,db2。

    native:(开发中一般选择此方式)自动增长,Hibernate会根据数据库从identity,sequence(序列),hilo(高低算法)中选择一种合适的方式生成主键,在mysql中时使用identity,在Oracle中时选择sequence(序列)。

    uuid:使用UUID算法生成字符串类型主键(主要用于分布式部署)。

    数据表各字段配置:<property name=属性 column="列名" type=数据类型 not-null="true"/>,实体类的属性与数据库表中列名(字段名)对应,在给定数据类型时最好写上此数据类型对应的包名(写上全名)。

hibernate.cfg.xml到哪复制

不是复制的
在eclipse的项目里 新建--》其他-->找到Hibernate--》Hibernate Configuration File
设置好后会自动生成的

hibernate.cfg.xml是什么东西?有什么用?hibernate.xml呢?与hibernate.xml的区别是什么?

hibernate.cfg.xml中写的是链接数据库的四个信息,在Myeclipse开发工具中是可以自动生成的,名字也可以自己定,它的默认名字就是hibernate.cfg.xml,加上个.cfg就是为了明显看出是个配置文件,名字无所谓,

javaweb怎么添加hibernate.cfg.xml

只要你能找到,放在哪里都可以。sessionFactory = new Configuration().configure("WEB-INF/hibernate.cfg.xml").buildSessionFactory();
hibernate实现有两种配置,xml配置与注释配置。
一、hibernate.cfg.xml
<?xml version=Ƈ.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-Hibernate/Hibernate Configuration DTD 3.0EN" ":hibernate.sourcefe./hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!--url信息-->
<property name=connection.url>jdbc:mysql:localhost:3306/webases</property>
<!--数据库方言信息-->
<property name=dialect>.hibernate.dialect.MySQLDialect</property>
<!--用户名-->
<property name=connection.username>root</property>
<!--密码-->
<property name=connection.password>123456</property>
<!--数据库驱动信息-->
<property name=connection.driver_class>.mysql.jdbc.Driver</property>
<!--指定Hibernate映射文件路径-->
<mapping resource="/Hibernate/order.hbm.xml" />
</session-factory>
</hibernate-configuration>
二、注解方式:
首先是需要加入4个jar包:hibernate-mons-annotations.jar 、 hibernate-annotations.jar、ejb3-persistence.jar 、 hibernate-jpa-2.0-api-1.0.1.Final.jar
不同的地方:
(1):hibernate.hbm.xml 文件中把引用:xxx.hbm.xml改为引用实体类:
即把:<mapping resource="/wsw/hibernate/model/Order.hbm.xml"/>
改为:<mapping class=".wsw.hibernate.model.Order" />
(2):获取SessionFactory方式发生了变化:
即:由SessionFactory sf = new Configuration().configure().buildSessionFactory()
改为:SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory()
(3):注解方式不需要在xxx.hbm.xml把实体类与表进行映射。而采用在实体类中进行注解。
注意:(1):如果实体类属性名与表字段名不一致的时候,要么都注解在属性前,要么都注解在get方法前。不能部分注解在属性前,部分注解在方法前。
(2):如果实体类属性名与表字段名一致的时候,可以部分注解在属性前,部分注解在方法前。
(3):如果在实体类中某些属性不注解:(属性和get都不写注解),默认为表字段名与实体类属性名一致。
(4):如果实体类的某个成员属性不需要存入数据库中,使用@Transient 进行注解就可以了。即类似于:(xxx.hbm.Xml配置中的某些字段不写(就是不需要对这个成员属性进行映射))
(5):表名称可以在实体类前进行注解。
(6):所有这些注解在:javax.persistence包下。而不是在hibernate包中。

哪里使用hibernate.cfg.xml

你的工程是自动编译的吗?把这个类考到你的程序里然后hibernate.cfg.xml放到src下试试import.hibernate.Session;import.hibernate.SessionFactory;import.hibernate.cfg.Configuration;publilassHibernateUtils{;(){returnsessionFactory;}publicHibernateUtils(){}static{Configurationcfg=newConfiguration();cfg.configure();sessionFactory=cfg.buildSessionFactory();}publicstaticSessiongetSession(){returnsessionFactory.openSession();}publicstaticvoidmain(String[]args){sessionFactory=HibernateUtils.getSessionFactory();System.out.println(sessionFactory);}}

⑺ (不限语言Java C# C都可以)简单点的文件夹加密工具软件源代码

闪晓风我推荐你用文件夹加密超级大师,文件夹加密超级大师支持所有windows系统,

可以加密文件夹,加密文件,保护磁盘和数据粉碎,使用起来非常方便。

在需要加密的文件和文件夹上单击鼠标右键选择加密就可以了。

解密时只要双击加密的文件夹和文件,输入正确的密码就可以解密。

文件夹加密超级大师加密后的文件和文件夹可以防止删除、复制和移动。

相对于其他的文件夹加密软件和文件加密软件,功能和性能还有操作都更加的出色。

并且有微软、360和金山的安全认证,是一款绝对安全的文件夹加密软件。

闪晓风您可以到网络上下载文件夹加密超级大师来给您的文件和文件夹加密,看看使用效果怎么样?

⑻ jasypt mybatis吗

jasypt既然是以简单的方式来解决java开发中的加密问题,自然使用起来难度不是很大。加密是从系统安全性方面考虑的,因此jasypt更像是面向方面的解决办法,不管你的系统中配置文件,敏感信息是否已经加密或者没有加密,jasypt都能够轻松的嵌入其中,开发人员就不用专门考虑加密算法和代码的编写。
要想深入了解jasypt是如何将加密解密和摘要算法组织起来,轻松的解决开发中加密问题以及和第三方组件集成,查看它的源代码是不错的选择。
下面主要说说如何在Spring框架中如何轻松使用jasypt。(下面的加密机是对jasypt中的加密解密,摘要算法的统称)
第一种方式:以bean的形式将加密机(即:加密类的实例对象)交给Spring托管
第二种方式:以配置XML的形式将加密机与Spring集成。
第一种方式:
1.托管一个StandardPBEStringEncryptor加密机
<!-- 加密机 -->
<bean id="strongEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="algorithm">
<value>PBEWithMD5AndTripleDES</value>
</property>
<property name="password">
<value>${user.home}</value>
</property>
</bean>

这里的属性"password"的值为系统属性的值,实际开发中在对某一个数据进行加密的时候这个password是要进行记录的,如果password在这里设置之后将默认提供了一个password的取值。
其它的属性设置可以参见: http://aiilive.blog.51cto.com/1925756/1420837 这篇文章中关于jasypt命令行工具的介绍。
在程序中使用strongEncrypt加密机对象:
@Test
public void test1() {
StandardPBEStringEncryptor spe = (StandardPBEStringEncryptor) context
.getBean("strongEncryptor");
String src = "admin@123";
String encrypt = spe.encrypt(src);
System.out.println("src=\'#\'" //加密解密
Assert.assertEquals(decrypt, src);
}

2.托管一个StandardStringDigester加密机
<!-- 摘要算法 -->
<bean id="digestEncryptor" class="org.jasypt.digest.StandardStringDigester">
<property name="algorithm">
<value>MD5</value>
</property>
</bean>

在程序中使用digestEncryptor加密机对象
@Test
public void test7() {
StandardStringDigester ssd = (StandardStringDigester) context
.getBean("digestEncryptor");
String rs1 = ssd.digest("admin");
String rs2 = ssd.digest("admin");
System.out.println(rs1 + " [vs] " + rs2);
//判断是否匹配
Assert.assertTrue(ssd.matches("admin", rs1));
}

StrandardStringDigester类提供了matches方法用来检测原始数据和进行摘要计算后的数据是否匹配。
1,2介绍了数据的处理,下面3讲介绍使用jasypt对配置文件进行处理.
3.使用jasypt对配置文件进行处理
比如数据库连接的属性值一般要进行加密处理,然后在程序运行时对其进行解密连接数据库,这样就保证了在程序代码已经配置中数据库的连接相关敏感数据不至于明文暴露。
jasypt是如何处理这一过程的呢?
首先,配置环境变量(这里指用来加解密的环境),
然后,通过环境变量来装载加密机,
最后,使用jasypt对Spring的org.springframework.beans.factory.config.PropertyPlaceholderConfigurer类的子类来配置属性文件替换配置。
下面是具体的配置信息:
<!-- 基于环境变量,配置加密机 -->
<bean id=""
class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<!-- <property name="passwordEnvName" value=""/> -->
<!-- <property name="passwordSysPropertyName" value=""></property> -->
<property name="password" value="sa" />
</bean>

<!-- 配置加密器,将用于解密 -->
<bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="" />
</bean>

<!-- 外部属性文件配置 -->
<bean id="propertyConfigurer"
class="org.jasypt.spring31.properties.">
<constructor-arg ref="configurationEncryptor" />
<property name="locations">
<list>
<value>classpath:db.properties</value>
</list>
</property>
</bean>

<!--数据源配置, jasypt的将确保${dataSource.password}是解密 -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${dataSource.driver}</value>
</property>
<property name="url">
<value>${dataSource.url}</value>
</property>
<property name="username">
<value>${dataSource.username}</value>
</property>
<property name="password">
<value>${dataSource.password}</value>
</property>
</bean>

说明:
EnvironmentStringPBEConfig 中的属性
passwordEnvName, passwordSysPropertyName,password
三者的区别是:
passwordEnvName的值直接设置为环境变量,比如value="APP_PASSWORD", APP_PASSWORD则是系统环境变量,在实际生产环境中建议使用这个属性,具体使用步骤如:配置环境变量APP_PASSWORD --> 启动应用程序 --> 应用程序启动完成 --> 删除环境变量APP_PASSWORD。
passwordSysPropertyName的值就是用 System.getProperties() 获取的属性值,比如:value="${user.home}"
password和使用jasypt命令行工具时的password参数用法一致。
属性配置文件加密
dataSource.driver=org.postgresql.Driver
dataSource.url=jdbc:postgresql://localhost:5432/dbname
dataSource.username=postgres
#dataSource.password=postgres
dataSource.password=ENC()

这里将password的加密结果放置在ENC(机密结果)中,注意这样的写法是jasypt的规定,可以查看源代码,在解密过程中会根据这个标志对属性配置文件中的加密数据进行解密。
属性配置文件中的机密结果产生则需要用jasypt的命令行工具(具体使用可以参见:http://aiilive.blog.51cto.com/1925756/1420837 ),这里要注意的是加密过程中的算法,password参数值需要和Spring配置文件中的(bean)的属性取值保持一致。
数据源中使用属性配置信息中的值
以前Spring中怎么使用,现在就怎么使用。
jasypt和Spring集成的依赖
jasypt.jar+jasypt-springx-x.jar , x表示一些版本信息。
第二种方式
第一种方式将jasypt中的类作为bean的形式在Spring中应用,第二种方式则更加强大,有独立的XML配置命名空间,更像是Spring的一部分。
首先需要在Spring的配置文件中添加jasypt的命名空间。

配置完成jasypt的命名空间就可以在Spring的配置文件中直接进行加密机,加密机参数配置,下面是一个示例:
<!-- 基本的密码加密机 -->
<encryption:basic-password-encryptor id="bpe" scope="singleton" />

<!-- 摘要配置 -->
<encryption:digester-config id="digester-config" algorithm="SHA-256" algorithm-env-name=""/>
<!-- 字符串摘要机 -->
<encryption:string-digester id="sd" algorithm="MD5" config-bean="digester-config"/>

<!-- 加密机配置 -->
<encryption:encryptor-config id="encryptor-config" algorithm="PBEWITHMD5ANDTRIPLEDES"/>
<!-- 字符串加密机 -->
<encryption:string-encryptor id="se" algorithm="PBEWITHMD5ANDDES" config-bean="encryptor-config"/>

<!-- 加密的属性占位符 -->
<encryption:encryptable-property-placeholder encryptor="se" location="classpath:db.properties"/>

第二种方式同样可以实现方式一中的功能。
通过介绍了jasypt和Spring集成的两种方式可以看出使用jasypt能够比较轻松自定义加密的参数,配置文件的加解密,整个过程对于应用程序的代码侵入性是很小的,可以在程序中使用jasypt提供的加密算法和方法来实现对需要加密的数据进行处理。
此外jasypt与Hibernate集成则以一个完全对程序逻辑透明的方式可以在ORM映射中对数据进行加解密。
最后jasypt也是开放的,它开放了JCE Provider API,允许开发者使用任何存在的JCE Provider在jasypt中进行消息摘要和加密处理。

⑼ java 对数据库properties文件加密

可以通过其它方法来实现:
1:如果没用框架,直接加密、解密即可
2:如果用hibernate之类,可以绕过Configuration,读取Hibernate配置文件解密后再连接数据库
3:考虑集群影响

⑽ mysql给密码字段加密

insert into tbname values(password('pwd'));---------新增的时候也可以用password函数转一下编码的

热点内容
c程序编译缓慢 发布:2025-08-22 11:47:40 浏览:736
服务器为什么要加密码 发布:2025-08-22 11:32:26 浏览:779
校园贷利息算法 发布:2025-08-22 11:17:13 浏览:535
c编程进程 发布:2025-08-22 10:52:54 浏览:949
三菱程序如何设置打开要密码 发布:2025-08-22 10:52:11 浏览:657
python生成时间 发布:2025-08-22 10:43:53 浏览:91
安卓手机怎么设置默认拨号手机 发布:2025-08-22 10:05:03 浏览:116
icloud显示正在上传 发布:2025-08-22 10:04:29 浏览:752
什么是服务密码 发布:2025-08-22 09:51:11 浏览:165
为什么商场不需要密码就能扣款 发布:2025-08-22 09:51:10 浏览:274