校验下载的 ISO
用 SHA-256 与发布方公布的校验和比对。即便只有一字节被篡改,摘要也会不同。MD5 与 SHA-1 用于检测意外损坏没问题,但不要用它们对抗攻击者。
从文本或文件即时计算 MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 哈希值,完全在你的浏览器中运算,绝不上传。
不会。所有哈希运算完全在你的浏览器内通过 JavaScript 和 Web Crypto API 执行。输入文本或选择文件时不会发出任何网络请求。你可以打开浏览器的 Network 面板自行验证。
文件完整性(校验码)用 MD5 或 SHA-256 都可以,非安全用途没问题。安全用途(密码哈希、签名)请使用 SHA-256 或 SHA-512,绝不要用 MD5 或 SHA-1(两者都已经被破解碰撞)。CRC32 仅适用于检测意外数据损坏,不适用于安全用途。
拖曳文件到这里,或点击选择
任何文件格式,支持大型文件(分段读取)。
小提示:输入时哈希会即时更新。取消勾选不需要的算法可加速大文件哈希。
快速、隐私、涵盖所有常用的哈希算法。
所有哈希运算都在你的浏览器内执行,文本和文件绝不传送、存储或记录到任何地方。
MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 — 同时显示全部,或只选你需要的。
拖曳任何文件(含数 GB 大文件),即时进度条显示。分段读取,低内存消耗。
支持 25 种语言,自动检测浏览器语言。支持阿拉伯、波斯、乌尔都语的 RTL 排版。
输入时哈希即时更新(含 debounce)。每组结果都有一键复制,可切换大小写。
SHA 系列哈希使用浏览器原生 Web Crypto API — 与 TLS 和子资源完整性使用的是相同的实现。
Web Crypto API 处理 SHA 系列,大文件采用流式处理。
对于文本输入,我们通过 TextEncoder 将其编码为 UTF-8 字节。对于文件,小文件用 File.arrayBuffer 读取,大于约 100 MB 的文件则通过 TransformStream 流式处理。
crypto.subtle.digest('SHA-256', bytes) 使用浏览器的硬件加速实现来计算哈希。这是 OpenSSL 使用的同一种算法,只是在 V8 / JavaScriptCore 沙箱内运行。SHA-1、SHA-384、SHA-512 用法相同。
MD5 与 CRC32 不在 Web Crypto 中(因为前者已在密码学上被攻破,后者本来就不是密码学算法)。我们附带了非常小的 WASM 实现(各约 5 KB),用同样的流式模式来计算。
结果以十六进制格式显示,每一项旁边都有一键复制按钮。我们也为 SHA 系列提供 Base64 输出 — 在与 AWS S3 ETag 或 HTTP Content-Digest header 比较时很常见。
哈希用途很多 — 选择适合任务的算法。
用 SHA-256 与发布方公布的校验和比对。即便只有一字节被篡改,摘要也会不同。MD5 与 SHA-1 用于检测意外损坏没问题,但不要用它们对抗攻击者。
用 SHA-1(如果对速度的要求胜过抗碰撞性,甚至可以用 MD5)对一组照片做哈希。哈希相同就意味着字节相同 — 用于清理重复上传很有用。
AWS S3 对单部分对象使用 MD5,对多部分对象使用另一种方案。iKit 让你即时拿到原始 MD5,用以验证你的本地文件是否与 S3 上的一致。
分别对原文件与备份用 SHA-256 计算哈希,比较两个字符串。哈希相同 = 内容一致。哈希不同 = 备份已损坏或过时。
一些在线哈希工具仅仅为了计算校验和就把你的文件上传 — 对于隐私敏感操作来说完全本末倒置。iKit 的哈希生成器使用 Web Crypto 在浏览器中完成所有计算,因此即便是机密或私人文件,也能在不离开你机器的情况下被哈希。
来自 iKit 博客的深度教程与工具对比。
Compare a downloaded file's checksum against the publisher's — entirely in your browser.
Hash digests are often Base64-encoded for transport; the same encoding shows up in many other places.
不会。所有哈希运算完全在你的浏览器内通过 JavaScript 和 Web Crypto API 执行。输入文本或选择文件时不会发出任何网络请求。你可以打开浏览器的 Network 面板自行验证。
文件完整性(校验码)用 MD5 或 SHA-256 都可以,非安全用途没问题。安全用途(密码哈希、签名)请使用 SHA-256 或 SHA-512,绝不要用 MD5 或 SHA-1(两者都已经被破解碰撞)。CRC32 仅适用于检测意外数据损坏,不适用于安全用途。
文件校验码和检测意外损坏用还可以 — MD5 和 SHA-1 仍普遍用于下载页面等场景。但安全关键用途(密码、签名、证书)则不行 — 两者都有已知的碰撞攻击。任何安全敏感的场景请使用 SHA-256 或更高。
可以。文件以 2 MB 分段读取并显示即时进度。MD5 和 CRC32 采用完全渐进式处理(内存恒定)。SHA 系列受 Web Crypto API 限制需要把文件全部载入内存,所以超过 ~2 GB 的文件在部分浏览器可能无法处理。
每个算法输出固定长度的摘要:MD5 = 128 位 (32 个 hex)、SHA-1 = 160 位 (40 个 hex)、SHA-256 = 256 位 (64 个 hex)、SHA-384 = 384 位 (96 个 hex)、SHA-512 = 512 位 (128 个 hex)、CRC32 = 32 位 (8 个 hex)。