在线生成 MD5 和 SHA 哈希值
密码学哈希函数可以将任何输入——一个词、一份文档、一个 4 GB 的磁盘映像——转换成一个简短的、固定长度的指纹。输入的任何一个比特位的改变都会导致指纹完全不同。本哈希值生成器可一次性计算五种最常见的指纹:MD5、SHA-1、SHA-256、SHA-384 和 SHA-512。它同时支持文本和文件,并且所有处理都在您的浏览器本地完成。
功能特性
- 一次性计算五种算法,因此您无需猜测网站使用的是哪一种。
- 支持文本和文件输入。 文本按 UTF-8 编码进行哈希;文件按字节进行哈希。
- 校验码验证。 粘贴一个预期的哈希值,本工具会告诉您它与哪种算法匹配——或者提醒您不匹配任何一种。
- 大写输出,适用于需要大写十六进制字符的系统。
- 保护隐私,支持离线:文件绝不会离开您的设备。
常见用途
验证下载文件。 软件供应商通常会在安装程序和 ISO 镜像旁边发布一个 SHA-256 校验码。为您下载的文件计算哈希值并进行比较:如果哈希值匹配,说明文件是完整的,并且在传输过程中未被篡改。
检测重复文件。 两个具有相同 SHA-256 哈希值的文件,在所有实际应用中都可以认为是完全相同的。哈希是为照片或备份文件去重的快捷方法。
开发与 API。 哈希值可用于缓存键、ETag、内容寻址和签名方案。在调试计算哈希值的代码时,使用本工具生成一个参考值会很有帮助。
旧版系统。 一些较旧的工具仍然需要 MD5 或 SHA-1 校验码。它们可以用来检测意外损坏,但不应依赖它们来防止恶意篡改。
不同哈希函数的区别
| 算法 | 输出长度 | 状态 |
|---|---|---|
| MD5 | 128 位 (32 个十六进制字符) | 已破解 — 仅用于校验 |
| SHA-1 | 160 位 (40 个十六进制字符) | 已破解 — 仅用于旧版系统 |
| SHA-256 | 256 位 (64 个十六进制字符) | 推荐使用 |
| SHA-384 | 384 位 (96 个十六进制字符) | 强 |
| SHA-512 | 512 位 (128 个十六进制字符) | 强 |
“已破解”意味着研究人员可以故意创建两个不同但哈希值相同(即“碰撞”)的输入。SHA-256 和更长的 SHA-2 变体目前没有已知的实际攻击方法。
如果您需要的是随机标识符而不是文件指纹,请使用 UUID 生成器。如果需要将文件的原始字节编码为文本而不是计算哈希值,请使用 Base64。