什么是 MD5?
MD5(消息摘要算法5)是一种广泛使用的加密哈希函数,它产生一个128位(16字节)的哈希值,通常表示为32个字符的十六进制数。它被设计用作校验和来验证数据完整性。
快速了解
| 全称 | 消息摘要算法5 |
|---|---|
| 创建时间 | 1991 年由 Ronald Rivest 设计 |
| 规范文档 | 官方规范 |
MD5 工作原理
MD5 由 Ronald Rivest 于 1991 年设计,用于替代早期的 MD4 哈希函数。它以 512 位块处理输入数据,无论输入大小如何,都产生固定的 128 位输出。虽然 MD5 曾经广泛用于安全目的,但 2004 年及之后发现的加密弱点使其不适合用于安全敏感的应用。然而,它仍然适用于非加密目的,如校验和和数据去重。
主要特点
- 产生固定的 128 位(32 个十六进制字符)输出
- 确定性 - 相同输入始终产生相同输出
- 计算速度快,适合处理大文件
- 单向函数 - 无法从哈希值反推原始数据
- 已发现碰撞漏洞 - 不适合加密用途
- 仍广泛用于校验和和文件验证
常见用途
- 文件完整性验证和校验和
- 存储系统中检测重复文件
- 为缓存生成唯一标识符
- 验证下载文件的完整性
- 遗留密码存储(不建议用于新系统)
示例
输入: Hello World
MD5: b10a8db164e0754105b7a99be72e3fe5
输入: hello world
MD5: 5eb63bbbe01eeed093cb22bb8f5acdc3
输入: (空字符串)
MD5: d41d8cd98f00b204e9800998ecf8427e