如何对Hibernate.cfg.xml中的用户名和密码进行加密

开发 后端
本文讲述的是如何对Hibernate.cfg.xml中的用户名和密码进行加密,想必你一定对此很感兴趣。下面是详细的的介绍。

本文讲述的是如何对Hibernate.cfg.xml中的用户名和密码进行加密,想必你一定对此很感兴趣。下面是详细的的介绍。

如果在Hibernate.cfg.xml配置的用户名和密码配置如下:

  1. <!--连接数据库的用户名-->  
  2. <property name="connection.username">sa</property>  
  3. <!--连接数据库的密码-->  
  4. <property name="connection.password">123</property> 

那怎么感觉都有点不爽,因为如果这样数据库的用户名和密码一下就给别人知道了,有极大的安全隐患,特别是金融系统中,这样的配置更应该避免。

我这里采用对Hibernate的源码进行修改的方式(当然这里的源码最好是和用户当前使用的Hibernate版本相一致,免得到时又引起版本不同的问题),以起到对连接的用户名和密码进行加密码的方式,修改右如下:

  1. <!--连接数据库的用户名-->  
  2. <property name="connection.username">c92b81768388f76d</property>  
  3. <!--连接数据库的密码-->  
  4. <property name="connection.password">1f65866187612115</property> 

准备一个Encode.java,该JAVA实现加密encode和解密方法decode,加密和解密是配对的,先用其加密方法encode对其加密处理,用户名和密码就成了上面的方式,将Encode.java放到org.hibernate.util包下,在类org.hibernate.connection.DriverManagerConnectionProvider的configure方法中,先加上对用户名和密码解密的程序,,加到该方法的最上面,如下:

  1. public void configure(Properties props) throws HibernateException {  
  2. String user = props.getProperty(Environment.USER);   
  3.          String password = props.getProperty(Environment.PASS);   
  4.         try {  
  5.          //对用户名进行解密  
  6. props.setProperty(Environment.USER, Encode.decode(user));  
  7.          //对密码进行解密  
  8. props.setProperty(Environment.PASS, Encode.decode(password));   
  9. catch (Exception e1) {  
  10. // TODO Auto-generated catch block  
  11. e1.printStackTrace();  
  12. }   
  13. //...  

这里在后面的处理之前,先解密,就达到了加密解密的效果,再打包发布就OK了。就这么简单,想必你已经学会了如何对Hibernate.cfg.xml中的用户名和密码进行加密了,自己试一试吧。

 

【编辑推荐】

  1. Hibernate一对多关系的处理
  2. Hibernate的性能优化
  3. 强人Hibernate文档笔记(上)
  4. 强人Hibernate文档笔记(中)
  5. 强人Hibernate文档笔记(下)
责任编辑:仲衡 来源: 百度博客
相关推荐

2009-09-22 14:44:18

Hibernate.c

2022-06-24 08:48:47

用户名密码登录

2021-10-04 08:26:10

用户名密码信息

2011-07-22 15:01:28

MongoDB权限管理

2009-08-18 13:52:57

Ubuntu用户名密码

2010-05-24 14:00:43

Flex Svn

2020-07-11 09:26:16

数据泄露黑客网络攻击

2011-09-02 09:51:22

流程引擎系统使用SID对来访用户名

2010-05-31 09:10:20

Myeclipse S

2011-09-06 10:36:44

2014-09-11 09:25:19

2013-05-29 09:47:45

2010-10-29 11:51:30

oracle用户名

2019-08-26 19:24:55

Podman容器Linux

2010-09-27 14:48:12

SQL用户名

2009-10-26 16:08:40

Oracle默认用户名

2018-05-30 08:31:08

2013-01-04 17:51:28

Android开发SharedPrefe解析用户名

2019-11-12 09:23:16

Telnet密码抓包

2009-06-02 14:12:26

Hibernate配置文件格式
点赞
收藏

51CTO技术栈公众号