MD5 编码后的数据,如何做模糊查询?

2022-11-16 10:40:24 +08:00
 ReinerShir

比如身份证号,用 MD5+SALT 编码后存储,但又要做模糊查询,该怎么解决呢?

1934 次点击
所在节点    程序员
10 条回复
lslvxy
2022-11-16 10:45:06 +08:00
加个字段明文存一下
Rache1
2022-11-16 10:49:18 +08:00
一看就是要做敏感信息保护的,参考站内已有的讨论吧

https://v2ex.com/t/887563

https://www.v2ex.com/t/872410
dqzcwxb
2022-11-16 11:05:12 +08:00
对称加密,权限隔离
权限隔离指的是,看仓库的拿不到钥匙,有钥匙的进不了仓库
wanguorui123
2022-11-16 11:05:20 +08:00
原文分段 hash ,匹配多个 hashcode
shawndev
2022-11-16 11:35:15 +08:00
不要 md5+salt ,直接上 mongodb searchable encryption
loading
2022-11-16 11:38:39 +08:00
身份证的话就不存后四位
DefoliationM
2022-11-16 11:46:01 +08:00
全同态加密也许能行
potatowish
2022-11-16 13:34:47 +08:00
常规方案就是按固定长度进行拆分后再加密
ReinerShir
2022-11-16 19:42:43 +08:00
@wanguorui123
@potatowish 这个我想过,比如身份证号 18 位,难道拆成 18 个 hash 字段存储吗? 这样效率太低了吧


@lslvxy
@dqzcwxb 限制加密必须不可逆
CEBBCAT
2022-11-16 19:54:38 +08:00
既然用了摘要算法,就不可能稳定地反推原数据。那么之前的历史数据是搜索不了了。除非你自己穷举一遍

针对上面的前提,看看能不能说服需求方,把模糊搜索的功能改成根据省份、城市、出生日期分开按条件查找呢?

这样的话又要存明文了,或者是近似明文。也许可以搜索一下金融巨鳄的做法?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/895612

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX