跳到主要内容
Z

MD5 vs SHA-1

MD5 vs SHA-1 compared — length, speed and security. Both are broken for security; here is what each is still useful for.

MD5 (128-bit) and SHA-1 (160-bit) are both older hash functions that are broken for security — practical collisions exist for both. Neither should be used for signatures or passwords; use SHA-256 instead.

MD5 vs SHA-1 at a glance

MD5 SHA-1
Output 128-bit (32 hex) 160-bit (40 hex)
Speed Faster Fast
Collisions Broken Broken
Safe for security? No No

When to use MD5

Use MD5 only for non-security checksums (deduplication, corruption checks).

When to use SHA-1

Use SHA-1 only where a legacy system requires it; prefer SHA-256 for anything new.

Tools for MD5 & SHA-1

MD5 vs SHA-1

这款工具支持哪些算法?

MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-384、SHA3-512、Keccak-256(以太坊所使用的变体)、CRC-32 以及 NTLM。

为什么没有 MD2、MD6 和 Whirlpool?

MD2 早在 1996 年就已被弃用,目前也没有仍在维护、体积足够小的 JS 实现可供集成。MD6 只是一个研究性设计,从未被实际部署使用过。Whirlpool 需要一张多达 700 行的查找表 —— 如果有需求,我们也愿意后续加入。

SHA-256 是合适的选择吗?

对于大多数现代使用场景来说是的 —— SHA-256 速度快、支持广泛,且被普遍认为是安全的。如果你需要与 MD/SHA-1 家族彻底区分开,可以使用 SHA3-256 或 SHA-512。至于密码存储,请使用 Argon2 或 bcrypt 等专用密钥派生函数(KDF),而不是直接使用原始哈希。

需要只支持单一算法的工具?

欢迎试试我们的专用页面:MD5 哈希生成器、SHA-256 哈希生成器、SHA-1 哈希生成器以及 Keccak-256 哈希生成器。

Keccak-256 和 SHA3-256 有什么区别?

Keccak-256 是 Keccak 算法的原始版本,未做任何填充(padding)方面的改动;SHA3-256 则是经 NIST 标准化后的版本,其字节填充方式略有不同。同一输入在两者下会产生不同的结果。以太坊使用的是 Keccak-256(Solidity 中的 keccak256() 函数)。