字段加密后如何实现模糊查询?

whos2002110 2013-04-15 03:49:12
我有个表数据需要加密(用的DES),加密的内容都是字符串,这样的话页面上的模糊查询怎么实现呢
用like肯定是行不通了
...全文
2611 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
长笛党希望 2013-04-17
  • 打赏
  • 举报
回复
这需求有点。。。。
li1037 2013-04-17
  • 打赏
  • 举报
回复
不是吧
ittoto 2013-04-16
  • 打赏
  • 举报
回复
引用 11 楼 whos2002110 的回复:
引用 10 楼 SDN_SUPERUSER 的回复:引用 9 楼 zyb134506 的回复:在数据库里写个解密函数查询的时候使用 decode(o.tag_name) like '%tag%'这样可以不? ++ 写个解密函数,这样link的就是 解密后的数据了 貌似可以,不过我不会写数据库函数,再说这个加解密都是用的第三方的,我在数据库层能自己实现么?
如果用oracle的话直接可以引入jar包的,其他的数据库不会,
骚还是公骚骚 2013-04-16
  • 打赏
  • 举报
回复
引用 13 楼 SDN_SUPERUSER 的回复:
引用 11 楼 whos2002110 的回复: 引用 10 楼 SDN_SUPERUSER 的回复:引用 9 楼 zyb134506 的回复:在数据库里写个解密函数查询的时候使用 decode(o.tag_name) like '%tag%'这样可以不? ++ 写个解密函数,这样link的就是 解密后的数据了 貌似可以,不过我不会写数据库函数,再说这个加解密都是用的第三方的,我在数据库层……
jackson_fighting 2013-04-16
  • 打赏
  • 举报
回复
引用 11 楼 whos2002110 的回复:
引用 10 楼 SDN_SUPERUSER 的回复:引用 9 楼 zyb134506 的回复:在数据库里写个解密函数查询的时候使用 decode(o.tag_name) like '%tag%'这样可以不? ++ 写个解密函数,这样link的就是 解密后的数据了 貌似可以,不过我不会写数据库函数,再说这个加解密都是用的第三方的,我在数据库层能自己实现么?
让第三方提供解密函数。
nicholasbobo 2013-04-16
  • 打赏
  • 举报
回复
数据库函数有DES的加解密函数么?要是有的话倒可以在SQL里调用,你应该有密钥的吧
whos2002110 2013-04-16
  • 打赏
  • 举报
回复
引用 10 楼 SDN_SUPERUSER 的回复:
引用 9 楼 zyb134506 的回复:在数据库里写个解密函数查询的时候使用 decode(o.tag_name) like '%tag%'这样可以不? ++ 写个解密函数,这样link的就是 解密后的数据了
貌似可以,不过我不会写数据库函数,再说这个加解密都是用的第三方的,我在数据库层能自己实现么?
jackson_fighting 2013-04-16
  • 打赏
  • 举报
回复
引用 9 楼 zyb134506 的回复:
在数据库里写个解密函数查询的时候使用 decode(o.tag_name) like '%tag%'这样可以不?
++ 写个解密函数,这样link的就是 解密后的数据了
快乐的2 2013-04-16
  • 打赏
  • 举报
回复
在数据库里写个解密函数查询的时候使用 decode(o.tag_name) like '%tag%'这样可以不?
whos2002110 2013-04-16
  • 打赏
  • 举报
回复
引用 22 楼 nicholasbobo 的回复:
别人在数据库里不保存明文,就是有安全方面的考虑吧,现在又来建议比人在数据库里增加明文字段,肯定不行啊
这个确实搞不定,只有改需求
nicholasbobo 2013-04-16
  • 打赏
  • 举报
回复
别人在数据库里不保存明文,就是有安全方面的考虑吧,现在又来建议比人在数据库里增加明文字段,肯定不行啊
z_yes163 2013-04-16
  • 打赏
  • 举报
回复
比喻页面输入123 然后你用 where attrs like '%+"+des(123)+"+%'
艾小仙 2013-04-16
  • 打赏
  • 举报
回复
引用 19 楼 sdflymin 的回复:
我建议修改一下数据库,增加一个解密后的字段,对于已经加密的数据,采用程序将数据解密后添加到未加密字段中,对于新数据可以在增加的时候,添加上未加密的即可,查询的时候直接查询未加密的就可以了嘛
+1 我觉得这样靠谱
sdflymin 2013-04-16
  • 打赏
  • 举报
回复
我建议修改一下数据库,增加一个解密后的字段,对于已经加密的数据,采用程序将数据解密后添加到未加密字段中,对于新数据可以在增加的时候,添加上未加密的即可,查询的时候直接查询未加密的就可以了嘛
whos2002110 2013-04-16
  • 打赏
  • 举报
回复
谢谢大家, 需求改了, 加密的字段不再提供页面的查询
whos2002110 2013-04-16
  • 打赏
  • 举报
回复
引用 12 楼 nicholasbobo 的回复:
数据库函数有DES的加解密函数么?要是有的话倒可以在SQL里调用,你应该有密钥的吧
数据库没有,我也不可能手动实现des解密
jackson_fighting 2013-04-16
  • 打赏
  • 举报
回复
引用 14 楼 hu3402379 的回复:
引用 13 楼 SDN_SUPERUSER 的回复:引用 11 楼 whos2002110 的回复: 引用 10 楼 SDN_SUPERUSER 的回复:引用 9 楼 zyb134506 的回复:在数据库里写个解密函数查询的时候使用 decode(o.tag_name) like '%tag%'这样可以不? ++ 写个解密函数,这样link的就是 解密后的数据了 ……
你这是要干嘛呢?
whos2002110 2013-04-15
  • 打赏
  • 举报
回复
引用 7 楼 nicholasbobo 的回复:
还有就是,如果你这张表的记录不是经常改动的话,数据量也不是特别大,可以在服务器启动的时候就把解密后的明文放到某个常量,保存到内存中,当表数据有改动的时候记得更新常量
nicholasbobo 2013-04-15
  • 打赏
  • 举报
回复
还有就是,如果你这张表的记录不是经常改动的话,数据量也不是特别大,可以在服务器启动的时候就把解密后的明文放到某个常量,保存到内存中,当表数据有改动的时候记得更新常量
tianma630 2013-04-15
  • 打赏
  • 举报
回复
先把数据库查出来 解密 用indexOf判断
加载更多回复(5)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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