10

我正在构建一个 Web 应用程序,并希望对密码使用最强的哈希算法。sha512、whirlpool、ripemd160 和tiger192,4 之间有什么区别(如果有的话)?哪一个会被认为在密码学上更强大?

4

4 回答 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 回答