跳到正文

生成 MD5 和 SHA 哈希值

为文本或文件生成 MD5、SHA-1、SHA-256、SHA-512、SHA-3 和 BLAKE3 哈希值,并可比对校验和。全部在浏览器中本地计算,不会上传。

哈希值
输入时会在这里显示哈希值。空输入也有哈希值,输入后再删除即可看到。
在浏览器中运行 · 无需上传工作原理

哈希生成器 使用方法

  1. 1

    选择文本或文件

    输入或粘贴文本,也可以切换到“文件”,拖入一个或多个任意大小的文件。

  2. 2

    选择算法

    勾选需要的哈希算法并选择输出格式;算法越少,大文件完成得越快。

  3. 3

    比较或复制

    粘贴预期的校验值,查看哪个哈希匹配,或点击按钮复制任意一个值。

  4. 4

    添加 HMAC 密钥

    开启 HMAC 并输入密钥,即可计算带密钥的签名,而不是普通哈希。

限制与 Pro

免费且无需注册:一次最多可处理 20 个文件,不限制文件大小(数 GB 的文件按 8 MB 分块流式处理),文本长度以浏览器能容纳的为限。

Pro 会去除广告;哈希速度和各项限制在所有方案中都相同。 了解 Pro

关于 哈希生成器

哈希函数可以把任意输入变成一段长度固定的短“指纹”:哪怕只改动一个字节,指纹也会完全不同。这个哈希生成器可以并排计算十种哈希:MD5、SHA-1、SHA-256、SHA-384、SHA-512、SHA3-256、SHA3-512、BLAKE2b-512、BLAKE3 和 CRC32,输入可以是你键入的文本,也可以是选择的文件,输出支持小写十六进制、大写十六进制或 Base64。

文本按输入原样以 UTF-8 编码计算,同样的字节会得到与 sha256sum 或 Python 的 hashlib 相同的结果。文件在 Web Worker 中按 8 MB 分片读取,所选算法在一次读取中同时更新,因此几个 GB 的磁盘镜像也能校验,不必整个载入内存;进度条会显示 MB/s 速度,点击“取消”可立即停止。

把下载页面上公布的校验值粘贴到比较框里,匹配的算法会高亮显示,支持任意大小写的十六进制、Base64,以及 GNU 或 BSD 校验和格式的整行内容。开启 HMAC 后,可以用密钥配合 HMAC-MD5、HMAC-SHA-1、HMAC-SHA-2、HMAC-SHA3 或 HMAC-BLAKE2b 对文本或文件签名,例如校验 webhook 签名。

MD5 和 SHA-1 在安全用途上已被攻破,CRC32 只能发现意外损坏,只适合做校验,不适合做签名。这些快速哈希都不适合存储密码,密码需要 bcrypt 或 Argon2 这类刻意放慢的函数。

隐私

文本和文件由运行在当前标签页中的 WebAssembly 代码计算哈希,文件、文本和 HMAC 密钥都不会上传;哈希库只在你第一次输入或选择文件时下载。你选择的算法和格式会保存在本地存储中,输入内容和结果不会保存。

功能

流式处理超大文件

在 Web Worker 中按 8 MB 分块处理,可显示进度和速度,随时取消,不会把几个 GB 载入内存。

校验值比较

粘贴十六进制、Base64 或 sha256sum 格式的已发布哈希,立即看到是否匹配。

HMAC 签名

支持 MD5、SHA-1、SHA-2、SHA-3 和 BLAKE2b 的 HMAC,可用于 webhook 和 API 校验。

哈希生成器:常见问题

为什么我算出的哈希和命令行的结果不一致?
通常是输入中有看不见的字节差异:echo 会多加换行,除非使用 echo -n;Windows 文件的行尾可能是 CR LF;复制的文本可能带有末尾空格。直接在“文件”标签页中计算文件的哈希,可以避免复制粘贴带来的差异。也请确认算法:SHA-256 和 SHA3-256 长度相同,但值不同。
如何校验下载的 ISO 或安装程序?
打开“文件”标签页,拖入下载的文件,再把发布方网站上的校验值粘贴到比较框中。如果对应算法显示为绿色,说明文件完整;不匹配则说明文件已损坏或不是同一个文件。只有校验值来自可信页面或本身带有签名时,比较结果才能证明文件完整。
MD5 和 SHA-1 现在还安全吗?
用来发现意外损坏或给文件去重,它们既够用又很快。但凡是攻击者可能干预的场景,例如签名、证书或证明文件未被替换,就不安全了:两者都已存在可实际利用的碰撞攻击。新项目建议使用 SHA-256、SHA-512、SHA-3 或 BLAKE3,MD5 只在旧系统要求时使用。
能计算比电脑内存还大的文件吗?
可以。文件不会被整体载入:Worker 每次只读取一个 8 MB 分片,交给所有选中的哈希算法后就丢弃,所以无论文件是 10 MB 还是 20 GB,内存占用都保持平稳。速度取决于你的设备和所选算法;只算一个 SHA-256 比十种全算快得多。
HMAC 是什么,什么时候需要用?
HMAC 把哈希和密钥结合起来,只有知道密钥的人才能算出相同的值。GitHub、Stripe 和 Slack 等服务就用这种方式给 webhook 签名。把原始请求体作为文本粘贴,输入签名密钥,选择 SHA-256,再把结果与签名请求头比较即可,请求头里的值通常是十六进制或 Base64。