• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ReinerShir
V2EX  ›  程序员

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

  •  
  •   ReinerShir · Nov 16, 2022 · 2394 views
    This topic created in 1280 days ago, the information mentioned may be changed or developed.

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

    10 replies    2022-11-16 19:54:38 +08:00
    lslvxy
        1
    lslvxy  
       Nov 16, 2022
    加个字段明文存一下
    Rache1
        2
    Rache1  
       Nov 16, 2022   ❤️ 1
    一看就是要做敏感信息保护的,参考站内已有的讨论吧

    https://v2ex.com/t/887563

    https://www.v2ex.com/t/872410
    dqzcwxb
        3
    dqzcwxb  
       Nov 16, 2022
    对称加密,权限隔离
    权限隔离指的是,看仓库的拿不到钥匙,有钥匙的进不了仓库
    wanguorui123
        4
    wanguorui123  
       Nov 16, 2022
    原文分段 hash ,匹配多个 hashcode
    shawndev
        5
    shawndev  
       Nov 16, 2022
    不要 md5+salt ,直接上 mongodb searchable encryption
    loading
        6
    loading  
       Nov 16, 2022   ❤️ 1
    身份证的话就不存后四位
    DefoliationM
        7
    DefoliationM  
       Nov 16, 2022
    全同态加密也许能行
    potatowish
        8
    potatowish  
       Nov 16, 2022 via iPhone
    常规方案就是按固定长度进行拆分后再加密
    ReinerShir
        9
    ReinerShir  
    OP
       Nov 16, 2022
    @wanguorui123
    @potatowish 这个我想过,比如身份证号 18 位,难道拆成 18 个 hash 字段存储吗? 这样效率太低了吧


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

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

    这样的话又要存明文了,或者是近似明文。也许可以搜索一下金融巨鳄的做法?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2648 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 15:36 · PVG 23:36 · LAX 08:36 · JFK 11:36
    ♥ Do have faith in what you're doing.