128-bit (MD5):
MD5 是一种输出为 128 位的哈希算法,但由于其设计的安全性不足,早在 2004 年就被发现可以有效制造碰撞。
MD5 于 1992 年被发明,不适合任何需要密码学安全性的场景,仅可用于低安全性完整性校验。
160-bit (SHA-0, SHA-1, RIPEMD-160):
SHA-0 是 SHA 系列的初代版本,存在严重的设计缺陷,在 2004 年被证明可以制造碰撞。SHA-0 于 1993 年发明。
SHA-1 作为输出 160 位的主流算法,在 2017 年被证实可以通过理论和实践攻击制造碰撞。SHA-1 于 1995 年发明。
RIPEMD-160 虽尚未有公开的碰撞记录,但不如更高位算法安全。
256-bit (SHA-256, SHA-3-256):
目前没有已知的碰撞攻击。
SHA-256 于 2001 年被发明,适合绝大多数场景,如数字签名、区块链和数据完整性验证。
384-bit (SHA-384):
为高安全需求设计,未有任何已知的碰撞攻击。
SHA-384 于 2001 年发明,适用于密钥交换、长时间数据存储等高安全性应用。
512-bit (SHA-512, SHA-3-512):
提供极高的安全性,特别适用于对抗潜在的量子计算威胁。
SHA-512 于 2001 年发明,性能消耗较高,适合长期存储的场景。