众所周知,SHA1 比 MD5 更推荐用于散列,因为 MD5 实际上被破坏了,因为已经发现了很多冲突。使用生日攻击,可能会在 MD5 中以 2 64复杂度和SHA1 中以 2 80复杂度发生碰撞
众所周知,有一些算法能够在比生日攻击更短的时间内破解这两者。
我的问题是:MD5 是否仅仅因为容易产生冲突而被认为是不安全的?因为看两者,在 SHA1 中产生冲突也不是那么困难。那么是什么让 SHA1 变得更好呢?
更新 02/2017 - https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html