我正在构建一个Web应用程序,并希望使用最强的哈希算法来实现密码。 sha512,whirlpool,ripemd160和tiger192,4之间有什么区别?哪一个被认为是密码学更强?
答案 0 :(得分:13)
bCrypt - 为什么会是一个很长的解释,我建议Enough With The Rainbow Tables: What You Need To Know About Secure Password Schemes
基本上,它是安全的,它很慢,已经实现了。
答案 1 :(得分:2)
如果您担心密码的安全性,您需要担心用于存储密码的协议,用于恢复用户忘记的密码的协议以及所有其他可能的攻击途径。这些选项更常用于破解密码,而不是蛮力的crtyptanalysis。
但是,请使用盐。
但首先阅读AviewAnew发表的文章
答案 2 :(得分:1)
如果您真的关心系统的安全性(而不是算法的相当学术优势)那么您应该采用经过验证的成熟实现而不是挑剔算法。
我会推荐Ulrich Drepper's SHA-crypt implementation。这个实现使用SHA-512,一个16字符长的盐,经过同行评审,并计划通过glibc 2.7进入所有主要的Linux发行版。
P.S。:一旦达到这种安全级别,black helicopters就会被访问。
答案 3 :(得分:0)
这是一个很好的post on coding horror about storing passwords。简而言之,他建议bcrypt或SHA-2使用随机的独特盐。