我正在构建一个 Web 应用程序,并希望对密码使用最强的哈希算法。sha512、whirlpool、ripemd160 和tiger192,4 之间有什么区别(如果有的话)?哪一个会被认为在密码学上更强大?
David
问问题
4511 次
4 回答
13
bCrypt - 为什么会有一个很长的解释,我推荐彩虹表足够了:你需要知道的关于安全密码方案的知识
基本上,它是安全的,它很慢,它已经实现了。
于 2008-10-08T18:20:57.120 回答
3
如果您真的关心系统的安全性(而不是算法的学术实力),那么您应该使用经过验证且成熟的实现而不是吹毛求疵的算法。
我会推荐Ulrich Drepper 的 SHA-crypt implementation。此实现使用 SHA-512,一种 16 个字符的长盐,经过同行评审,并计划通过 glibc 2.7 进入所有主要的 Linux 发行版。
PS:一旦你达到了这个安全级别,无论如何都会有黑色直升机来拜访你。
于 2008-10-08T18:48:27.253 回答
2
大卫,这些都是非常强大的功能。即使是大肆宣传的 MD5 冲突也不是密码破解类型,它们只是生成两个具有相同 MD5 的不同字符串(与找到一个生成给定 MD5 值的字符串非常不同的命题)。
如果您担心密码的安全性,则需要担心用于存储密码的协议、用于恢复用户忘记的密码的协议以及所有其他可能的攻击途径。与暴力破解密码分析相比,这些选项更常用于破解密码。
不过,请务必使用盐。
但首先阅读AviewAnew发布的文章
于 2008-10-08T18:30:10.330 回答
0
这是一篇关于存储密码的恐怖编码的好帖子。简而言之,他建议使用随机唯一盐的 bcrypt 或 SHA-2。
于 2008-10-08T18:26:38.543 回答