在线 Hash 计算工具:支持 SHA-1、SHA-256、SHA-384、SHA-512。基于 Web Crypto API,浏览器本地计算,数据不外泄。
摘要:免费的 Hash 计算工具,支持 SHA-1/256/384/512,基于 Web Crypto API 本地计算,数据不外泄。
本地工具可在 DevTools → Network 搜索输入内容,通常不会出现在请求中。
下一步
使用指南
SHA-256 属于 SHA-2 家族,把任意长度的输入压缩成固定 256 位(64 个十六进制字符)的指纹:输入哪怕改动一个字节,输出也会完全不同。本页在浏览器本地用 Web Crypto 计算,支持 SHA-1/256/384/512 四种算法切换,文本不会经过任何网络。
1. 三步算出哈希值
计算是即时的,但如果输入框为空,生成的会是空字符串的哈希而不是报错——这是哈希函数的正常行为,输出为固定值时请先检查输入是否粘贴完整。
- 把文本粘贴到输入框(配置片段、脚本、一段合同文本都可以)。
- 在下拉框确认算法——默认 SHA-256;如下载站标注的是 SHA-512,切到对应项再算。
- 点击「计算」,输出框生成十六进制哈希,点右上角复制按钮拿走结果。
2. 校验下载文件的完整性
最常见的用途是核对下载内容:发布方公布某个文件的 SHA-256 校验值,你把本地文件算出的哈希与公布的字符串逐位对比。对比时注意三点:十六进制不区分大小写(a 与 A 等价);首尾不能有空格或换行;只要有一位不同,无论多像都算校验失败——这正是雪崩效应的意义,不存在「大概一致」。
3. 两个高频安全误区
- 不要用 SHA-256 直接存用户密码。SHA 系列计算太快,GPU 每秒能算数十亿次,泄露后极易被暴力破解。密码存储请用专门的慢哈希(bcrypt、argon2),本站工具箱里的 bcrypt 工具就是干这个的。
- 哈希不是加密。哈希不可逆、没有密钥、输出固定长度,用于完整性校验;需要还原原文的要用加密算法(本页的 AES 工具),需要验证「谁发的」的要用 HMAC——它在哈希基础上引入了共享密钥。
4. 结果和预期不一致?按顺序查这三处
先查输入是否被污染:编辑器复制的文本常带不可见的尾部换行,多一个换行符结果就完全不同。再查编码:同样的中文,UTF-8 与带 BOM 的 UTF-8 哈希不同,本工具按 UTF-8 处理。最后确认算法没选错——SHA-1(40 位)和 SHA-256(64 位)输出长度一眼可辨,长度对了才继续比对内容。
5. SHA-2 家族怎么选:224/256/384/512
SHA-2 是一个家族:SHA-224/256 共用 32 位字长与 64 轮结构,SHA-384/512 共用 64 位字长与 80 轮结构,输出长度截断自更长内部状态。选择上有两条实用规律:其一,安全强度上 SHA-256 已远超当前算力可破解范围,多数场景默认它没错;其二,长消息吞吐上 SHA-512 反而更快(64 位字长在现代 64 位 CPU 上效率更高),处理 GB 级数据流时值得切换到 SHA-512/256 这类截断变体。SHA-3 是结构完全不同的备选(Keccak 海绵结构),在 SHA-2 被现实攻击之前属于备份选项;BLAKE3 则以多线程与 SIMD 并行见长,但标准库生态支持仍有限。
6. 浏览器里算哈希的性能实践
- 优先 SubtleCrypto:crypto.subtle.digest 走原生实现,比纯 JS 快一个数量级,大输入差距更明显。
- 大文件流式分块:FileReader 按片读取再拼 UTF-8 字节,避免一次性 string 化撑爆内存;几十 MB 起就该流式。
- 超大文件给用户进度反馈:分块之间让出主线程(await microtask),否则进度条冻结、页面无响应。
- 本工具的实现取舍:本地 SubtleCrypto 优先、无网络请求,输入内容不出浏览器——这也是我们把它做进这个纯前端工具箱的原因。
常见问题
都不需要,打开页面就能用。哈希由浏览器原生 Web Crypto API 在本地计算,粘贴的文本不经过网络,也没有次数限制。
SHA-1、SHA-256、SHA-384、SHA-512 四种,下拉框随时切换,默认 SHA-256。底层是浏览器原生 Web Crypto(SubtleCrypto),比纯 JS 实现快约一个数量级,大输入差距更明显。
先查输入是否被污染:编辑器复制的文本常带不可见的尾部换行,多一个字符结果就全变,清空重粘最快。再查编码:同样的中文,UTF-8 与带 BOM 的 UTF-8 哈希不同,本工具按 UTF-8 处理。最后看算法:SHA-1 输出 40 位、SHA-256 输出 64 位十六进制,长度一眼可辨。另外输入框为空时算出的是空字符串的哈希而非报错——输出恒为同一个值时先确认内容粘贴完整。
都不行。SHA 系列算得太快,GPU 每秒能算数十亿次,泄露后极易被暴力破解——存密码请用 bcrypt、Argon2 这类慢哈希(本站有 bcrypt 工具)。哈希也不等于加密:不可逆、没有密钥、输出定长,用于完整性校验;要还原原文用 AES 加密工具,要验证「是谁发的」用 HMAC。
安全强度上 SHA-256 已远超当前算力可破解的范围(生日界约 2^128,截至 2026 年无公开碰撞),多数场景默认它没错;处理 GB 级长消息时 SHA-512 在 64 位 CPU 上吞吐反而更高。MD5 输出 128 位且碰撞可被构造,安全场景一律不用;需要带密钥的认证用 HMAC 工具。