gpt4 book ai didi

security - 使用多种算法对密码进行哈希处理

转载 作者:行者123 更新时间:2023-12-02 21:35:27 24 4
gpt4 key购买 nike

使用多种算法会让密码更安全吗? (或者更少?)

需要明确的是,我并不是在谈论做这样的事情:

key = Hash(Hash(salt + password))

我正在谈论使用两种单独的算法并匹配两者:

key1 = Hash1(user_salt1 + password)
key2 = Hash2(user_salt2 + password)

然后在身份验证时要求两者匹配。我已经看到这被建议作为消除冲突匹配的一种方法,但我想知道意想不到的后果,例如创建“最弱链接”场景或提供使用户数据库更容易破解的信息,因为此方法提供的数据比只需一个键即可。例如。比如将信息与哈希值结合起来以更轻松地找到它们。此外,如果真正消除了冲突,理论上您可以暴力破解实际密码而不仅仅是匹配密码。事实上,您必须这样做才能对系统进行暴力破解。

我实际上并不打算实现这一点,但我很好奇这是否实际上是对单一key = Hash(user_salt + password)标准实践的改进。 .

编辑:

许多好的答案,所以只是在这里猜测,回顾起来这应该是显而易见的,但是您确实通过使用这两种算法创建了最薄弱的链接,因为可以尝试两种算法中较弱的算法与另一种算法的匹配。例如,如果您使用弱(快速)MD5 和 PBKDF2,我会首先暴力破解 MD5,然后尝试我找到的任何与另一个匹配的匹配,因此通过使用 MD5(或其他),您实际上会使情况变得更糟。此外,即使两者都属于更安全的集合(例如 bcrypt+PBKDF2),您也会将其中一个破坏的风险加倍。

最佳答案

这唯一有帮助的是减少碰撞的可能性。正如您提到的,有几个缺点(最薄弱的环节是一个大缺点)。

如果目标是减少冲突的可能性,那么最好的解决方案就是使用具有更大哈希值的单一安全算法(例如 bcrypt)。

关于security - 使用多种算法对密码进行哈希处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14341482/

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