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

md5 方式存储密码会有什么问题吗

  •  
  •   witcat · Sep 27, 2023 · 1505 views
    This topic created in 958 days ago, the information mentioned may be changed or developed.

    在用 cf workers 做一个小东西,按照惯性就直接 bcrypt 了。
    但是 bcrypt 未必能在所有环境运行、也很费资源。比如在 workers 环境就无法运行。

    我就在想了,加密的这么强,其实未必有人能找到门来破。即使找到门了也未必值得。 如果原本的明文密码够强,其实 md5 方式存储也没有什么问题吧?
    验证的时候就再 md5 一遍,然后看结果是不是一样就行。

    而且这个前提这是个管理员路由,所以不能有 123456 这样的密码。

    Supplement 1  ·  Sep 27, 2023

    不需要加盐,下面这就是一个 bitwarden 生成的 14 位密码,在https://emn178.github.io/online-tools/sha256.html 使用 sha256 加密后的结果:b0e1052bec47b3384e9f5e74d1f22b8c1151f810371eb66cf4591797410da8d6

    如果它不是安全的,我很好奇 decrypt 的过程

    Supplement 2  ·  Sep 27, 2023
    看了大家回答我觉得在用户量不多的情况下 sha-256 hash 存储/比对没有任何问题哦,此贴已下沉。
    Dragonish3600
        1
    Dragonish3600  
       Sep 27, 2023
    md5 加密强?
    witcat
        2
    witcat  
    OP
       Sep 27, 2023
    @ladypxy 那就 SHA-256
    someonedeng
        3
    someonedeng  
       Sep 27, 2023
    ysc3839
        4
    ysc3839  
       Sep 27, 2023 via Android
    没有纯 js 实现的 bcrypt 等算法吗?
    crysislinux
        5
    crysislinux  
       Sep 27, 2023 via Android
    先不说 md5 有没有问题,你这样没盐啊
    ThirdFlame
        6
    ThirdFlame  
       Sep 27, 2023
    哈希存储只是为了防止看到明文密码 或者 不能简单的通过哈希反查明文。

    建议上加盐后 sha256 当然如果只是自己用的小东西,那你哈希不哈希都没啥意义。
    superares
        7
    superares  
       Sep 27, 2023 via iPhone
    md5 弱不是因为原始密码弱,是它能碰撞出来,你设置一个 20 位的原始密码,我用个 6 位的碰撞出来就行,不需要知道原始的。 加强原始密码的目的只是为了不出现在彩虹表中
    cmdOptionKana
        8
    cmdOptionKana  
       Sep 27, 2023   ❤️ 1
    听起来像单用户?单用户(或少量可控用户)用明文都可以,只要是个随机生成的密码就行。加盐之类的一般主要是为了万一被拖库时有多一层保护。
    hyperbin
        9
    hyperbin  
       Sep 27, 2023 via Android
    穷举速度快,任意碰撞已有先例,密码推荐使用慢哈希算法
    witcat
        10
    witcat  
    OP
       Sep 27, 2023
    @cmdOptionKana 有价值回答
    bianhui
        11
    bianhui  
       Sep 27, 2023
    对,加密只是防止存的是明文,就安全的角度来说,传输和存储过程中的安全远大于这个
    rocmax
        12
    rocmax  
       Sep 27, 2023 via Android
    @superares 所谓的 md5 碰撞是说在已知原文的基础上可以根据公式构造出另一段 md5 相同的信息。
    xbird
        13
    xbird  
       Sep 27, 2023
    cmd5.org 可以撞出来,如果密码强度不高或者被收录过

    不过不止 md5 会有这种缺点,别的也有,md5 比较古老了,建议还是用别的
    expy
        14
    expy  
       Sep 27, 2023
    argon2 bcrypt 专门设计成计算耗时长,内存占用大。万一被脱库也很难暴力遍历来找出明文密码。

    md5 和 sha 系列计算太快了,你这还不加盐,直接彩虹表查表就能攻击了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6148 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 02:18 · PVG 10:18 · LAX 19:18 · JFK 22:18
    ♥ Do have faith in what you're doing.