SHA-256 不一致怎么办:文件版本、换行与旧结果核对
用 hello 与换行样本复核摘要,检查文件版本、预期值和输入变化后的旧结果。
什么时候值得核对
软件下载、网站备份和跨设备传输完成后,若发布方提供 SHA-256,就可以计算本地文件摘要并对照。两边必须是同一个版本的同一个文件,重新压缩过的 ZIP 即使包含相同文件,摘要也可能变化。
先确认页面结果属于当前输入
在SHA-256 工具输入 hello,点击计算。得到结果后,在最后按一次回车;旧摘要与复制、下载按钮应立即消失。再次点击计算,才会出现带换行文本的新摘要。更换文件、数据来源或预期值,也需要重新计算。计算期间修改输入时,原计算完成后不应重新显示旧结果;它不是对新输入的校验。
两个可复现的文本样本
以下均为 UTF-8 文本;第二个样本只有一个结尾 LF 换行,不是字面上的反斜杠加 n。对照工具输出:
hello(没有结尾换行)
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
hello 后按一次回车(结尾 LF)
5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03将第一行摘要填入“预期 SHA-256”,再计算带换行的样本,应该显示“不一致”。去掉换行后重新计算,才应显示“一致”。全空文本也有合法摘要;它不是没有选择文件的同一种情况。
校验下载包要选原文件,不要复制内容
切换文件模式,选中不超过 50 MiB(52428800 字节)的文件,将可信发布方提供的 64 位十六进制摘要填入预期值。大小写字母均可,首尾空白会被忽略;摘要中间的空格或 sha256: 等前缀不是有效输入。工具只在本机读取文件。
文件模式读取原始字节,文件名本身不参与摘要:仅改名且字节完全相同,结果不应改变。文本模式按浏览器文本框的字符串转为 UTF-8;换行可能经文本框规范化。若要核对原文件的 CRLF、BOM 或其他编码,应使用文件模式,不要把文件内容复制进文本框替代文件校验。
不一致时按顺序核对
- 确认摘要对应相同产品、版本、系统平台和文件类型,不把源码 ZIP 与安装包相互对照。
- 核对是否解压、重新压缩、修改内容、转换编码或增删换行。文件大小相同也不能证明字节相同。
- 确认比较的是刚选中的文件的新结果,而不是另一文件或上一次计算留下的摘要。
- 从可信发布入口重新下载一次,再对同一个原文件计算;仍不一致时保留版本、大小和结果,联系发布方,不强行安装。
大文件用系统命令
Windows PowerShell 可使用下面的命令。把路径替换为真实文件;命令在本机计算,不需要上传文件。
Get-FileHash -LiteralPath 'C:\Downloads\release.zip' -Algorithm SHA256
读取结果的 Hash 列,与同版本官方摘要比较。浏览器文本上限为 1 MiB(1048576 个 UTF-8 字节),不是 1048576 个汉字。浏览器原生 digest 需要完整输入,不是流式读取;不要为处理大文件而向陌生网站上传软件包或私人文件。
实测地点与边界
2026-10-07 在本机 Windows Chrome 对文本、LF/CRLF 文件、空文件和二进制样本做浏览器计算,并与 Node.js 的 SHA-256 独立对照;测试字节上限、预期值格式、复制下载及输入修改后的失效行为。通过明确模拟的摘要延迟与失败,检查过期计算不会写回。模拟失败不是真实故障或网络检测结果,测试没有上传这些输入;其他浏览器和你的实际下载文件仍需自行复核。
摘要一致不等于没有病毒
摘要证明的是你拿到的字节与对照摘要相符。如果文件和摘要来自同一个不可信页面,两者可能同时被替换。仍应核对发布来源、签名和系统安全提示。