算法复杂性和安全性:MD5还是SHA1?

Sta*_*arx 57 algorithm hash

在复杂性和安全性方面,哪种是最佳的整体哈希算法?md5还是sha1?

据我所知,md5sha1快,但SHA1比md5更复杂.

我错过了什么吗?

sha*_*oth 68

首先,MD5被破坏 - 您可以生成冲突,因此MD5不应该用于任何安全应用程序.不知道SHA1是否被破坏并被认为是安全的.除此之外 - 是的,MD5更快但具有128位输出,而SHA1具有160位输出.

更新: SHA1已被破坏:Google和CWI的一组研究人员发布了冲突 - https://shattered.io/static/shattered.pdf

  • @Unreason:不要忘记有1000万台+计算机的僵尸网络(其计算能力可以出售).使用其中一个大型僵尸网络可将您的计算时间从292年缩短至2.5秒.请记住,攻击只会越来越好,而计算机只会越来越快...... (8认同)
  • SHA1 _IS_坏了.见http://www.schneier.com/blog/archives/2005/02/sha1_broken.html (7认同)
  • @MathieuTurcotte 不,它不能这样工作。用户在多个资源上重复使用他们的密码。攻击者从某个系统窃取密码数据库,然后对密码进行暴力破解,然后将它们重用于另一个系统。安全不是非黑即白,而是无数种灰色。正确完成的每一点都提高了标准。 (5认同)
  • @sharptooth不要说MD5坏了,所以我们不能用它.现在唯一的成功就是产生碰撞.如果您现在拥有通用数据,则无法生成具有相同MD5的伪数据.所有已知的碰撞都是成对生成的. (4认同)
  • @MathieuTurcotte 在线暴力破解如果不是唯一的选择。一个人可能已经窃取了预定的哈希值——然后他可以尝试离线暴力破解。 (3认同)
  • @ ya23:没听说过,谢谢.但是请仔细阅读那里所说的内容 - 冲突生成需要2**69个哈希计算.那令人难以置信的长.我们真的应该担心吗? (2认同)
  • 那么问题不是 MD5,而是您没有保护服务器的事实。如果他们可以在数据库中获取哈希值,他们基本上可以抽取整个数据库...... (2认同)

Bis*_*kar 32

这是MD5和SHA1之间的比较.你可以清楚地了解哪一个更好.

在此输入图像描述

  • SHA1已被打破:谷歌和CWI的一组研究人员发布了一次碰撞 - https://shattered.io/static/shattered.pdf (5认同)

Ala*_*lan 11

MD5不适用于任何类型的敏感信息.与算法存在冲突,并且已成功攻击它.

在本次更新时(2017年3月),SHA-2现在是首选.

当您开始安全地处理信息时,建议您查看最新的指南.