SHA256哈希校验

输入
0 字符 / 0 字节
SHA-256 属于 SHA-2 家族,目前没有被实际攻破的碰撞攻击,是当前数字签名、证书、区块链与文件校验的主流选择。需要注意:哈希不是加密,不能用来「还原」原文,口令存储请改用 Bcrypt / Argon2。
计算结果
输入文本或选择文件后自动计算 SHA-256 哈希
在线计算文本与文件的 SHA-256 哈希值,支持拖拽大文件分块计算、十六进制/大写/Base64/分段多种格式,并可粘贴已有 SHA256 值自动校验比对。全部在本机浏览器完成,文件不上传服务器。

这个工具能做什么

SHA-256 在线哈希与校验工具,覆盖三种用法:

  1. 文本哈希:输入或粘贴文本,右侧实时输出 SHA-256 值(256 位,即 64 位十六进制)。
  2. 文件哈希:切到「文件」标签,点击选择或拖入文件,按 4 MB 分块读取并显示进度,大文件不会卡死页面。
  3. 校验比对:粘贴已知 SHA-256 值,自动忽略大小写、空格与分隔符比对,并指出首个不同字符的位置。

全部计算在浏览器本机完成,文本与文件都不会上传到服务器。

使用步骤

  1. 选择「文本」或「文件」模式。
  2. 文本模式输入即算;文件模式选择文件后自动分块计算并显示进度。
  3. 点击哈希值本身或右上角「复制」按钮即可复制。
  4. 需要核对时把待比对的值粘贴进「校验比对」框。

SHA-256 是什么

SHA-256 属于 SHA-2 家族,由 NSA 设计、NIST 于 2001 年发布(FIPS PUB 180-2,现行版本 FIPS 180-4)。SHA-2 家族还包括 SHA-224、SHA-384、SHA-512、SHA-512/224、SHA-512/256。

项目说明
输出长度256 位 = 32 字节 = 64 位十六进制
分组长度512 位
字长32 位
轮数64 轮
发布机构NIST(FIPS 180-4)
是否可逆不可逆
安全性目前没有实际攻破的碰撞攻击

SHA-256 与 SHA-512 的结构相同(都是 Merkle–Damgård + Davies–Meyer 压缩函数),区别在于字长(32 位 vs 64 位)、轮数(64 vs 80)与初始向量。SHA-224 是 SHA-256 的截断变体,SHA-384 是 SHA-512 的截断变体。

为什么大家都用 SHA-256

  • 抗碰撞强度足够:找到碰撞需要约 2^128 次运算,远超目前任何算力可达的范围。2005 年针对 SHA-1 的那类攻击对 SHA-2 不适用。
  • 广泛标准化:TLS/SSL 证书签名、代码签名、Git 迁移目标、区块链(比特币用双重 SHA-256)、固件校验、JWT 的 HS256/RS256 都基于它。
  • 软硬件支持完善:主流 CPU 提供 SHA 扩展指令(Intel SHA-NI、ARMv8 Crypto Extensions),吞吐量极高。
  • 合规友好:NIST、FIPS 140-2/140-3、PCI DSS 等合规体系都认可 SHA-256。

SHA-2 和 SHA-3 的关系

SHA-3 是 2015 年 NIST 通过公开竞赛选出的新一代标准(Keccak 算法,FIPS 202),结构与 SHA-2 完全不同(海绵结构),设计上不共享 SHA-2 的潜在弱点。但 SHA-3 并不是因为 SHA-2 被攻破才推出的,而是为了在 SHA-2 万一被攻破时有备选方案。目前 SHA-256 依然安全,SHA-3 主要用于需要与 SHA-2 结构差异化的场景。

结果区里的几种格式

格式说明
小写十六进制默认输出,64 个字符,最常用
大写十六进制64 个大写字符
Base6432 字节摘要的 Base64,44 个字符含填充
分段(每 8 位)便于人工核对的分组显示

常见误区

  • SHA-256 可以拿来存密码。不可以。它设计目标是「快」,单张高端显卡每秒可尝试数十亿次,弱口令会被秒破。口令存储请使用 Bcrypt、Argon2 或 PBKDF2 这类慢哈希。
  • 哈希不是加密。哈希不可逆,没有密钥也无法还原原文;加密是可逆的。「SHA-256 加密」是常见但错误的说法。
  • 只要哈希一致就一定没被篡改*。前提是攻击者无法同时替换文件与哈希值。如果哈希值和文件都来自同一个不可信渠道,校验就失去意义。*哈希值必须从可信的独立渠道获取(例如官网 HTTPS 页面、官方签名)。
  • SHA-256 比 SHA-512 弱。不能简单比较位数。SHA-512 在 64 位平台上通常更快且强度更高,但 SHA-256 的 128 位抗碰撞强度已经远超实际需求,两者都属于安全选择。

常见问题 FAQ

比特币为什么用 SHA-256?

比特币的工作量证明采用双重 SHA-256(SHA256d),矿机围绕 SHA-256 做了高度专用的 ASIC 优化。SHA-256 的抗碰撞性与计算确定性适合做共识机制中的哈希难题,同时地址生成等环节也使用 SHA-256。

校验文件完整性时要注意什么?

哈希值必须来自**可信且独立**的渠道。如果攻击者能同时替换文件和你手上的哈希值,校验就形同虚设。正确做法是从官网 HTTPS 页面或官方签名中获取哈希值,再与本地计算结果比对。

「SHA-256 加密」这个说法对吗?

不对。SHA-256 是单向哈希(摘要)算法,不可逆,没有密钥也无法还原原文。加密(如 AES)是可逆的,需要密钥解密。正确说法是「SHA-256 哈希」或「SHA-256 摘要」。

为什么同一个文件算出的 SHA-256 和别人不一样?

常见原因:文件在传输或保存过程中被改动(哪怕只差一个字节)、文本编码不同(UTF-8 / GBK)、换行符不同(CRLF / LF)、或下载不完整。二进制文件则应完全一致。

多大的文件可以计算?

没有硬性上限。工具按 4 MB 分块顺序读取,内存占用恒定,并显示进度条,几百 MB 到几个 GB 的文件通常都能完成。

文件不会上传到服务器吧?

不会。全部计算通过浏览器本地的 WebAssembly 完成,文件只在本机读取,不产生上传请求,可在开发者工具 Network 面板确认。

SHA-256 的输出为什么是 64 个字符?

SHA-256 摘要为 256 位,即 32 字节;每个字节用两位十六进制表示,所以是 64 个字符。SHA-1 是 40 个字符,SHA-512 是 128 个字符。

SHA-2 和 SHA-3 有什么区别?

SHA-2 采用 Merkle–Damgård 迭代结构,SHA-3 采用海绵结构(Keccak 算法,FIPS 202),两者设计完全不同。SHA-3 是为防止 SHA-2 万一被攻破而准备的备选标准,并非因为 SHA-2 已被攻破。

SHA-256 和 SHA-512 该选哪个?

两者都属于 SHA-2,都安全。SHA-256 输出更短、兼容性最好;SHA-512 在 64 位平台上往往更快、抗碰撞强度更高。通用场景选 SHA-256,追求更高强度或已在 64 位环境选 SHA-512。

SHA-256 能用来存密码吗?

不能。SHA-256 的设计目标是快,单张高端显卡每秒可尝试数十亿次,弱口令会被迅速破解。口令存储必须使用专门设计的慢哈希:Bcrypt、Argon2 或 PBKDF2,它们可调代价并内置盐值。

SHA-256 安全吗?被攻破了吗?

目前安全,没有公开的实际碰撞攻击。找到 SHA-256 碰撞需要约 2^128 次运算,远超现有算力。2005 年针对 SHA-1 的攻击方法对 SHA-2 不适用。SHA-256 是当前数字签名、证书与完整性校验的主流选择。

SHA-256 是什么?

SHA-256 是 SHA-2 家族的一员,由 NSA 设计、NIST 于 2001 年发布(FIPS PUB 180-2,现行 FIPS 180-4)。它输出 256 位(64 位十六进制)摘要,采用 32 位字长、64 轮运算的 Merkle–Damgård 结构。