如果MD5坏了,什么是更好的解决方案?

时间:2010-05-04 20:55:23

标签: security hash cryptography

在阅读“Is MD5 really that bad”主题后,我正在考虑一种更好的生成哈希的解决方案。是否有更好的解决方案,例如AdlerCRC32SHA1?或者他们也被打破了?

3 个答案:

答案 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)

SHA1有一些理论上的攻击,但AFAIK仍然没有什么实际可以让你打破它。

SHA2目前似乎保持稳定。