什么是 MD5?
MD5(消息摘要算法 5)从任意长度的输入生成固定的 128 位输出—以 32 个字符的十六进制字符串显示。由 Ron Rivest 设计并在 RFC 1321(1991) 中发布,它成为下载和遗留系统的事实上的校验和。
安全提示: MD5 在加密使用中已被破解—对于任何安全关键的内容,请选择 SHA-256、BLAKE3 或 Argon2。
MD5 如何工作?
- 填充 消息,使其长度 ≡ 448(mod 512)位
- 附加 原始长度(64 位小端)
- 初始化 四个 32 位字(A、B、C、D)
- 处理 数据,分为 16 字的块,通过 4 轮非线性运算
- 生成 最终的 128 位摘要
MD5 与其他哈希函数的比较
算法 | 输出 | 当前安全性 | 相对速度* |
---|---|---|---|
MD5 | 128 位 | ❌ 已破解 | ⚡ 非常快 |
SHA-1 | 160 位 | ❌ 已破解 | ⚡ 快 |
SHA-256 | 256 位 | ✅ 安全 | 🚀 中等 |
SHA-512 | 512 位 | ✅ 非常安全 | 🚀 中等-慢 |
BLAKE3 | 256 位 | ✅ 安全 | ⚡ 闪电般快速 |
示例哈希
输入 | MD5 哈希 |
---|---|
你好,世界! | 65a8e27d8879283831b664bd8b7f0ad4 |
密码 | 5f4dcc3b5aa765d61d8327deb882cf99 |
123456789 | 25f9e794323b453885f5181f1b624d0b |
(空字符串) | d41d8cd98f00b204e9800998ecf8427e |
常见问题
是否有数据发送到您的服务器?
没有。JavaScript 库完全在您的浏览器中运行。文本和文件永远不会离开您的设备。
我可以用 MD5 验证下载的 ISO 吗?
可以。将 ISO 文件拖放到工具中以计算其 MD5 校验和,然后与发布者提供的哈希进行比较。
MD5 对于密码安全吗?
不。使用专用的密码哈希算法,如 bcrypt、Argon2 或 PBKDF2。
安全考虑
- 碰撞:不同的输入可能产生相同的 MD5 输出。
- 长度扩展:攻击者可以在不知道原始消息的情况下附加数据。
- 速度:MD5 的速度使其容易受到暴力攻击。
经验法则:仅将 MD5 用于非安全目的,例如检测重复文件或快速校验和。