比如身份证号,用 MD5+SALT 编码后存储,但又要做模糊查询,该怎么解决呢?
1
lslvxy 2022-11-16 10:45:06 +08:00
加个字段明文存一下
|
2
Rache1 2022-11-16 10:49:18 +08:00 1
|
3
dqzcwxb 2022-11-16 11:05:12 +08:00
对称加密,权限隔离
权限隔离指的是,看仓库的拿不到钥匙,有钥匙的进不了仓库 |
4
wanguorui123 2022-11-16 11:05:20 +08:00
原文分段 hash ,匹配多个 hashcode
|
5
shawndev 2022-11-16 11:35:15 +08:00
不要 md5+salt ,直接上 mongodb searchable encryption
|
6
loading 2022-11-16 11:38:39 +08:00 1
身份证的话就不存后四位
|
7
DefoliationM 2022-11-16 11:46:01 +08:00
全同态加密也许能行
|
8
potatowish 2022-11-16 13:34:47 +08:00 via iPhone
常规方案就是按固定长度进行拆分后再加密
|
9
ReinerShir OP @wanguorui123
@potatowish 这个我想过,比如身份证号 18 位,难道拆成 18 个 hash 字段存储吗? 这样效率太低了吧 @lslvxy @dqzcwxb 限制加密必须不可逆 |
10
CEBBCAT 2022-11-16 19:54:38 +08:00
既然用了摘要算法,就不可能稳定地反推原数据。那么之前的历史数据是搜索不了了。除非你自己穷举一遍
针对上面的前提,看看能不能说服需求方,把模糊搜索的功能改成根据省份、城市、出生日期分开按条件查找呢? 这样的话又要存明文了,或者是近似明文。也许可以搜索一下金融巨鳄的做法? |