开发者完整性校验工具 · 免费

哈希生成器

为文本或文件生成 MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 摘要,用 HMAC 签名消息,并用已发布的校验和核对下载的文件。

在此浏览器中通过 Web Crypto 计算哈希
报告问题
来源

要计算什么的哈希?

所有算法会同时处理你文本的 UTF-8 字节,方便并排比较各个摘要。

输出

摘要编码

校验和文件和大多数命令行工具输出的都是十六进制。Base64 常见于 HTTP 请求头,base64url 则去掉了填充,适合用于 URL 和 JWT。

验证

比对校验和

粘贴已发布的校验和,即可一次性与所有摘要比对,三种编码均可。

输入

待计算哈希的文本

43 个字符 · 43 字节 UTF-8

摘要

所有算法,一次算完

十六进制
MD5 · 128 位旧版

–

仅适用于校验和与旧系统兼容:碰撞已可实际构造。

SHA-1 · 160 位旧版

–

Git 对象 ID 和旧系统:碰撞已被实际证明。

SHA-256 · 256 位

–

完整性校验、签名和文件校验和的默认选择。

SHA-384 · 384 位

–

截断为 384 位的 SHA-512,常见于 TLS 密码套件。

SHA-512 · 512 位

–

这里摘要最长的算法;在 64 位硬件上比 SHA-256 更快。

Web Crypto 与本地 MD5 · 不上传 · 不存储

工作原理

为任何输入生成固定长度的指纹。

哈希能把任意数量的数据转换为固定长度的摘要。只要改动一个字节,摘要就会彻底改变,正因如此,它可以用来检测数据损坏和篡改。

  1. 01

    选择文本、文件或 HMAC

    输入文本即可按 UTF-8 计算哈希,拖入文件即可在本地计算校验和,也可以切换到 HMAC,用密钥为消息签名。

  2. 02

    选择编码

    用于校验和文件和命令行比对时,以十六进制查看摘要;用于请求头、令牌和 URL 时,则选择 Base64 或 base64url。

  3. 03

    复制或验证

    复制任意摘要,或粘贴已发布的校验和,让工具告诉你它与哪种算法匹配。

为验证而设计

文本、文件和带密钥签名,集中在一个工作区。

五种算法同时计算

MD5、SHA-1、SHA-256、SHA-384 和 SHA-512 一起计算,你无需猜测某个项目发布的是哪一种。

本地文件校验和

无需上传即可验证下载的安装程序、压缩包或 ISO 镜像,最大 512 MB。字节在标签页中读取后即被丢弃。

自动匹配校验和

粘贴预期值后,工具会自动在三种编码下与每个摘要比对,并忽略空白字符和冒号。

HMAC 签名

使用 SHA-1、SHA-256、SHA-384 或 SHA-512 以密钥签名消息,与 Webhook 服务商采用的构造方式相同。

如实标注安全性

MD5 和 SHA-1 已存在实际可行的碰撞,因此被标为旧版。它们仍可用于校验和与旧系统。

数据不离开浏览器

SHA 哈希和 HMAC 使用 Web Crypto API,MD5 在本地 JavaScript 中运行。任何文本、文件或密钥都不会被传输。

哈希常见问题

算法选择、碰撞、密码与隐私。

我应该使用哪种哈希算法?+

除非有特定要求,否则请使用 SHA-256;它是完整性校验和签名的现代默认选择。SHA-512 也是不错的替代方案,在 64 位硬件上通常更快。只有当现有系统发布的是 MD5 或 SHA-1 时才使用它们。

为什么 MD5 和 SHA-1 被标为旧版?+

这两种算法都存在实际可行的碰撞攻击,也就是说,攻击者可以构造出摘要相同的两个不同输入。因此它们不再适用于签名和防篡改检测,但仍可用于发现意外损坏,以及与旧工具保持兼容。

可以用它来对密码做哈希吗?+

不可以。普通哈希的计算速度太快,而这正是破解密码成本低廉的原因。密码需要使用 bcrypt、scrypt 或 Argon2 等加盐的慢速算法,并在你的服务器上执行。

我的文件会被上传吗?+

不会。文件被读入浏览器标签页的内存,通过 Web Crypto API 或本地 MD5 实现计算哈希,绝不会发送到服务器。关闭标签页即会将其丢弃。

可以计算多大文件的校验和?+

这里的上限是 512 MB,以保证标签页流畅响应。超大文件会被完整读入内存,因此内存较小的设备可能远未达到上限就已吃力。

哈希和 HMAC 有什么区别?+

哈希只取决于消息本身,任何人都能重新计算。HMAC 还混入了密钥,因此只有持有该密钥的人才能生成或验证签名。这就是 Webhook 服务商使用 HMAC 来证明请求确实来自他们的原因。

为什么同样的文本在别处得到的摘要不同?+

几乎都是编码差异造成的。本工具对你输入内容的精确 UTF-8 字节计算哈希。末尾多一个换行、换行符不同或字符编码不同,都会让摘要彻底改变。

更多专注好用的工具,随时待命。

探索不断扩充的工具合集,涵盖计算、文档、写作和日常工作。

浏览全部工具