在阅读“Is MD5 really that bad”主题后,我正在考虑一种更好的生成哈希的解决方案。是否有更好的解决方案,例如Adler
,CRC32
或SHA1
?或者他们也被打破了?
答案 0 :(得分:9)
CRC32可能是您可能用于密码的最糟糕的事情(除了crc16 :)。循环冗余检查用于检测消息是否因自然原因而被损坏,仅使用代数生成冲突是微不足道的。 SHA0和SHA1也被打破,虽然与md5()不同,没有人产生SHA1冲突,但据信我们现有的技术在计算上是可行的。
应使用SHA-2系列的任何成员。 Sha-256很好,SHA-512可能比你需要的多。 NIST现在正在举办SHA-3比赛,这将在2012年的某个时候完成。(赢得胜利!)
答案 1 :(得分:4)
如果您正在寻找加密哈希函数,Adler和CRC32 非常糟糕。 SHA-1也已经坏了,但是比MD5危险得多。但是,这可能在未来发生变化。
现在唯一明智的选择似乎是使用SHA-256,可能会将摘要截断到所需的长度。
答案 2 :(得分:2)