gpt4 book ai didi

php - 与盐渍 SHA512 相比,盐渍 SHA1 有多不安全

转载 作者:可可西里 更新时间:2023-11-01 12:43:24 26 4
gpt4 key购买 nike

SHA1 完全不安全,应该被替换。

这个问题已有 8 年以上历史,时代已经变了: https://arstechnica.com/information-technology/2017/02/at-deaths-door-for-years-widely-used-sha1-function-is-now-dead/

对于密码:https://en.wikipedia.org/wiki/PBKDF2

对于数据:SHA3


SHA512 比 SHA1 更复杂,但与使用 512 进行哈希处理相比,使用 SHA1 对加盐密码进行哈希处理会损失多少安全性?就拥有数据库的人破解单个密码所需的时间而言。我使用的框架无法让我轻松访问 SHA512,我必须重写一些东西才能使其正常工作,所以我想只使用 SHA1,尽管过去我一直使用 SHA512。

最佳答案

当前已知的 SHA-1 弱点不会影响您尝试执行的操作的安全性。无法从其散列版本恢复密码依赖于“原像抵抗”,据我们所知,这对于 SHA-1 仍然完全不可行。它对于 SHA-512、SHA-256 甚至 MD4 或 MD5 也是完全不可行的。一个以科幻为导向的头脑可能会设想计算机在 2050 年左右实现为 MD4 或 MD5 寻找原像的能力; SHA-1 需要更长的时间。

现在碰巧的是,虽然在 SHA-1 上计算原像没有已知的捷径,但也几乎没有安全证明。用数学术语来说,如果 SHA-1 中使用的压缩函数与“随机预言机”没有区别,那么它就不会受到原像的影响。但是 SHA-1 的已知弱点(理论上)会导致冲突,这也表明它的压缩功能不是随机预言。因此,SHA-1 对原像的安全性不再是“有很好的数学理由为什么它不会被破坏”的说服力。它更像是“嗯,还没有找到如何破解它”的那种。

更通俗地说,如果您使用 SHA-1,那么您可能需要为自己辩护。即使你没有做错任何事情,你对 SHA-1 的选择也会受到质疑。然而没有人会质疑使用 SHA-256 或 SHA-512,即使这意味着一些开发开销。简而言之,使用 SHA-1 是一种糟糕的公共(public)关系。

请注意,加盐与该问题完全正交。加盐旨在防止对不同密码实例的攻击之间成本分摊。预计算表(包括所谓的“彩虹表”)是一种共享(建表成本高,但可用于攻击 2、10、10000 个密码,每个攻击密码的额外成本很小)。加盐会破坏共享。腌制很好。击败共享很重要,因为攻击一个密码是可能的:不是因为哈希函数,而是因为密码是适合人脑的东西,因此容易受到蛮力攻击(“字典攻击”)。对于与密码相关的任何事情,您不会因为哈希函数的弱点而遇到问题,而是因为您首先使用了密码。

关于php - 与盐渍 SHA512 相比,盐渍 SHA1 有多不安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3740443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com