#️⃣
免费哈希生成器
从文本或文件生成 MD5、SHA-1、SHA-256、SHA-512 和 CRC32 哈希值。校验和验证数据完整性。
加载后可离线使用
提示:SHA-256 和 SHA-512 具有密码学安全性。SHA-1 已过时,不再推荐用于安全敏感场景。所有哈希运算在浏览器本地完成——文件和文本不会发送至任何地方。
校验和与密码哈希:这些是通用校验和——不能替代密码哈希(密码请使用 bcrypt、Argon2 或 scrypt)。SHA-1 也不适用于安全敏感的完整性声明。
常见用途
- 用哈希验证文件完整性为下载的文件生成SHA-256校验和,并将其与发布者的校验和进行比较以确认其未被修改。
- 生成数据完整性的校验和创建文本或文件的SHA-256哈希以检测损坏、验证备份和审计数据管道。
- 使用哈希删除重复文件通过比较SHA-256哈希来识别重复文件 — 相同的内容产生相同的哈希。
- 理解密码哈希通过查看文本更改如何产生完全不同的哈希输出来了解密码哈希的工作原理。
- 生成API请求签名哈希通过在发送签名请求前计算API负载的哈希来理解HMAC签名。
工作原理
哈希生成完全在你的浏览器中运行,结合使用 Web Crypto API(用于 SHA-1、SHA-256、SHA-384 和 SHA-512)以及手写的 MD5 和 CRC32 实现——因为 Web Crypto API 有意不包含这两种较旧的算法。文本或文件内容绝不会上传到任何地方。
- 1将输入读取为字节对于文本输入,浏览器内置的 TextEncoder 将字符串转换为 UTF-8 字节数组。对于最大 500 MB 的文件,File API 的 arrayBuffer() 方法将原始二进制数据直接读入内存——文件绝不会离开你的设备。
- 2六种算法并行运行SHA-1、SHA-256、SHA-384 和 SHA-512 交给浏览器原生 WebCrypto 实现 crypto.subtle.digest() 处理。MD5 由工具内置的独立 RFC 1321 实现计算(WebCrypto 有意排除了 MD5);对于大输入,它每处理 4 MB 就让出事件循环,使标签页保持响应。CRC32 使用预先计算的 256 项 IEEE 802.3 查找表进行快速逐字节处理。
- 3十六进制摘要完成即显示每种算法的结果一得出就写入界面——CRC32 等较快的算法几乎立即显示,而对大文件计算 SHA-512 可能需要稍长时间。六种算法通过 Promise.all 并发运行,因此总等待时间取决于最慢的算法,而不是它们的总和。
- 4可选的校验和验证将已知的校验和粘贴到验证框中,工具会将其与全部六个计算出的摘要进行比较。它通过统计十六进制字符数自动识别匹配(或应匹配)的算法——32 个字符表示 MD5,40 个表示 SHA-1,64 个表示 SHA-256,依此类推——然后报告匹配、不匹配或长度无法识别。
你的文本和文件完全在浏览器中处理——不会发送到服务器、不会被记录,也不会在当前页面会话之外存储。