怎么能用 hibernate 对某几个特定字段 加密

jfheng 2009-03-08 02:06:02
如题

最重要的是加密后 还支持hql查询。
...全文
448 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
jfheng 2009-03-11
  • 打赏
  • 举报
回复
Jasypt 有人用过?
Defonds 2009-03-10
  • 打赏
  • 举报
回复
学习,mark下关注中
Landor2004 2009-03-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jfheng 的回复:]
hql 查询怎么办?
[/Quote]
hql查询的过程就是从数据库查出数据,往对象里set
hql插入的过程就是从对象里get,然后插入,完毕
jfheng 2009-03-10
  • 打赏
  • 举报
回复
如果在实体get set 加密解密,哪在使用hql 对加密字段查询的时候,还要先将要查询的值加密,再去查询。
Landor2004 2009-03-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jfheng 的回复:]
怎么和 hql没关系啊 对加密字段查询怎么办
[/Quote]
查询出结果后你自己去解密,hibernate不管这东西的,他只负责查,查出来的字符串是a还是*,他不管,呵呵
jfheng 2009-03-09
  • 打赏
  • 举报
回复
怎么和 hql没关系啊 对加密字段查询怎么办
Landor2004 2009-03-09
  • 打赏
  • 举报
回复
这个不是通过配置hibernate能实现的
是你自己写的
1 在业务逻辑里调用save等操作之前,手工加密程序,加不加密对hibernate是透明的,和hql没啥关系,hibernate就是or映射工具,也复杂的业务逻辑没啥关系
然月枕流君 2009-03-09
  • 打赏
  • 举报
回复
hql用字段名和对象,查询就ok了

你是要把字段的数据加密,还是字段名加密?
jfheng 2009-03-09
  • 打赏
  • 举报
回复
hql 查询怎么办?
jfheng 2009-03-09
  • 打赏
  • 举报
回复
hql 查询怎么办啊
Landor2004 2009-03-09
  • 打赏
  • 举报
回复
有个办法,就是entity中,属性的set方法进行解密,get方法进行加密
jfheng 2009-03-09
  • 打赏
  • 举报
回复
我想知道有没有什么办法 让hibernate 直接去处理这些事情 应该是可以的
zhj92lxs 2009-03-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jfheng 的回复:]
就这么难?

[/Quote]
没什么难的,你只要在网上找一个加密的算法,在你的业务里面直接调用就可以了
jfheng 2009-03-08
  • 打赏
  • 举报
回复
就这么难?
然月枕流君 2009-03-08
  • 打赏
  • 举报
回复
业务层比较简单,用MD5或DES算法等都可以实现,之后来回转换即可;

数据库保密字段不过比业务层的加密多家一道工序,就是用Java本身加密工具,然后将数据变成二进制格式的数据储存到数据库的保密字段中,去除也是二进制,然后再转换回来,大约就是一样;

如果不是客户一定要求,还是用业务层自己弄比较好,也一样保险,至少DES至今也没人破解出来过;
然月枕流君 2009-03-08
  • 打赏
  • 举报
回复
呵呵,一般建议是业务逻辑中实现加密解密,如果一定要用加密解密,数据库有加密字段吧
jackychen_king 2009-03-08
  • 打赏
  • 举报
回复
强,如果有方法也通知我一下啊。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧