本工具计算什么
SHA-256 属于 SHA-2 系列,输出 256 位结果,即完整的 64 个十六进制字符。下载清单、构建流水线及内容标识经常使用它。复制时请保留全部字符;截断结果会改变比较规则,也可能削弱标识的可靠性。
普通 SHA-256 不包含秘密密钥。如果攻击者能够同时替换文件和旁边的摘要,就能发布另一组互相匹配的值。预期摘要应来自经过认证的发布渠道;“字节一致”与“发布者可信”不是同一个判断。
文本模式按 UTF-8 原样编码,文件模式读取原始文件字节。PDF 中看到的正文不是 PDF 文件本身,ZIP 解压后的内容也不是 ZIP 归档字节。比较控件要求 64 个合法十六进制字符,能区分预期值格式错误与格式正确但不匹配这两种情况。
可核对的示例
UTF-8 · abc · SHA-256
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
如何计算与比较
- 在输入文本中粘贴需要计算的内容,或点击示例加载
abc。工具按 UTF-8 编码计算,保留输入中的空格和换行。 - 单条文本模式下,不超过 64 KiB 的非空输入会在停止输入片刻后自动计算。计算空字符串或更大的文本时,请点击生成哈希。修改输入后,旧结果会立即清除。
- 如需核对已保存的文件,请切换到文件校验,确认算法后选择或拖入文件。文件模式会读取原始字节并自动开始计算。
批量处理时,勾选每行独立计算,选择是否包含空行,再点击生成哈希。逐行模式不会自动计算。CRLF、LF 和 CR 仅用于分隔记录,不计入各行摘要;重复行保留各自的原始行号。
将完整的十六进制参考值粘贴到比较预期值(可选),再点击核对。比较时忽略字母大小写和首尾空白,但不接受内部空格或错误长度。复制会保留完整结果。TXT、CSV 导出包含输入标识、算法和摘要,不包含原始文本或密钥。
限制、隐私与下一步
文本上限为 10 MiB;逐行模式最多接受 10,000 条记录,按过滤空行前的数量计算。文件队列最多 50 个文件,每个不超过 1 GiB,按 2 MiB 分块依序读取。这些限制用于控制浏览器资源占用,不保证每部手机都能快速处理最大输入;必要时可取消计算。计算在浏览器中完成,正常的页面和资源请求仍会发送到托管服务器。
用 SHA-256 核对下载文件
从发布者处取得对应版本、平台的 SHA-256 参考值,不要混用其他构建的校验码。进入文件校验、选择 SHA-256,计算下载的原始文件,并在安装或解压前比较完整 64 位摘要。不匹配时应核对版本和下载来源,而不是截短结果来强行匹配。
排查文本接口时,要区分原始消息和“字节的文字表示”。输入 61,计算的是字符 6 和 1 的 UTF-8 字节,不会自动解码为字母 a 的单个字节。本页文本框不是 Hex 原始字节输入器。如果请求认证要求密钥,应使用 HMAC,并按协议保留准确的消息字节。
用实际结果区分字符 61 与字节 0x61
在单条文本模式计算 61,再把输入改成 a。下面两个不同的结果可以直接说明:把十六进制文字输入文本框,不等于先解码成原始字节。
SHA-256 / UTF-8 "61" (36 31):
d029fa3a95e174a19934857f535eb9427d967218a36ea014b70ad704bc6c8d1c
SHA-256 / UTF-8 "a" (61):
ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
SHA-256 常见错误与处理
| 现象 | 原因 | 处理方式 |
|---|---|---|
| 参考值有 44 个字符,末尾带 = | 可能是 Base64,而不是十六进制 | 取得或正确转换为完整 64 位十六进制参考值。 |
| 整行 sha256sum 结果被拒绝 | 包含了文件名或标记 | 只粘贴摘要,文件名单独保留。 |
| 计算结果与 webhook 签名不同 | 协议可能要求 HMAC 和原始请求字节 | 使用 HMAC,并确认密钥编码及消息内容。 |