Hibernate字段数据加密

  • 介绍

本文介绍如何利用Hibernate的事件机制实现实体字段数据的透明加解密。

上面的话有点绕,这里简单说一下思路:通过在实体类(Entity)的属性上添加注解,实现该字段在存取时的数据加解密。这里利用了Hibernate提供的几个Listener来实现,包括:pre-insert、post-insert、post-load。

我们的步骤是:在数据入库前进行加密操作,在从数据库查出来后解密。

  • 例子

  • 源码

本文隐藏内容 登陆 后才可以浏览

属性加解密注解类:

通用方法类:

本文隐藏内容 登陆 后才可以浏览

出库后的解密监听器:

本文隐藏内容 登陆 后才可以浏览

入库前的加密监听器:

本文隐藏内容 登陆 后才可以浏览

加密工具类:

  • Hibernate配置

本文隐藏内容 登陆 后才可以浏览

  • 源码

https://github.com/LinuxSuRen/com.surenpi.hibernate

《Hibernate字段数据加密》有18个想法

        1. 不对啊,我去注册显示我的邮箱号被注册了- -但是找回密码还是显示未验证- –

  1. 再请教一个问题,我们这边更新有的是merge的方法,不知道这个方法怎么去对值加密呢?我试了load和insert都没有问题,但是merge这个方法弄了好久,还是没有进展。

  2. 我看了一下你的配置,感觉是不是有点不正确, 这个里面应该是SuRenPreIntoListener吧,这个里面应该是SuRenPostOutListener吧

      1. 我的意思是,那个配置文件里面的这一段,pre-update这个type对应的class不正确,应该对应的是org.suren.SuRenPreIntoListener这个class

          1. 呵呵,应该感谢你,你这篇文章对我帮助很大。另外还有一个建议,现在hibernate4已经不支持这样配置监听了,可以用其它的实现方式,可以用新的方式实现,请参考:http://blog.csdn.net/z69183787/article/details/43454271

发表评论

电子邮件地址不会被公开。 必填项已用*标注