校验和验证器

按输入的原样以 UTF-8 字节计算:多一个空格或换行,所有哈希值都会改变。

粘贴下载页面上的值、SHA256SUMS 文件中的一行或整个文件。空格和大小写会被忽略。

已完成。继续查看结果。

校验和是根据数据计算出的短指纹,发布者列出它们,以便您确认下载内容或配置值未被损坏或篡改。此验证器使用 MD5、SHA-1、SHA-256、SHA-384、SHA-512 或 CRC-32 计算您所选文件或所粘贴文本的校验和。同时粘贴预期值(单独的校验和、SHA256SUMS 文件中的一行或整个文件),它会根据长度判断算法,让您一眼看出是否匹配。适合核对下载的 ISO、安装程序或压缩包,也适合用供应商列出的哈希值核对 API 密钥、许可证代码或配置片段。

如何验证校验和

  1. 1

    选择文件

    将下载的文件拖到框中,或点击选择文件。如需检查文本,请打开“文本”选项卡并粘贴,例如 API 密钥或配置片段。

  2. 2

    粘贴预期值(可选)

    添加发布者页面上的校验和、其 SHA256SUMS 文件中的一行或整个文件。空格和大小写会被忽略;如果是列表,则使用与您的文件名对应的那一行。

  3. 3

    选择算法

    保留“自动检测”即可根据预期值的长度判断算法(没有预期值时使用 SHA-256),也可以自行选择 MD5、SHA-1、SHA-256、SHA-384、SHA-512 或 CRC-32。

  4. 4

    查看结果

    下一页会显示可供复制的校验和,最后一页会用绿色或红色告诉您它是否与预期值匹配。如果您没有提供预期值,可以在那一页粘贴后进行比较。

应该使用哪种算法

算法 输出大小 速度 抗碰撞 用途
MD5 128 位 最快 已被攻破 仅限旧系统兼容
SHA-1 160 位 快 已弃用 旧系统;git 仍在使用
SHA-256 256 位 中等 是 现代标准
SHA-384 384 位 中等 是 已使用 384 位的系统
SHA-512 512 位 中等 是 格外谨慎 / 加密密钥
CRC32 32 位 最快 否 快速损坏检查,不适合安全用途

除非发布者列出其他算法,否则请使用 SHA-256。MD5 和 SHA-1 仍出现在旧版下载中,但用现代硬件即可轻易伪造,只可用于随意的损坏检查,不可用于抵御攻击者的完整性验证。CRC32 根本不是加密哈希:它能发现意外损坏,但对蓄意篡改没有任何防护。

发布者在哪里列出哈希值

  • Linux 发行版:每个 ISO 下载旁提供 SHA-256 和 SHA-512,通常附带 PGP 签名的 SHASUMS 文件。
  • 开源发布(GitHub):发布页面上提供哈希值,通常通过 README 中的 shasum -a 256 给出。
  • 企业软件:下载确认页面提供 MD5 或 SHA-256;一些供应商会发布 GPG 签名的清单。
  • 包管理器:自动完成验证(apt、yum、Homebrew)。只有直接下载时才需要手动验证。

验证提示

  • 从与文件不同的来源获取哈希值。如果两者来自同一个被入侵的镜像,它们都可能被伪造。
  • 在可用时检查 GPG 签名。签名的 SHASUMS 文件证明发布者(使用其私钥)为这些哈希值负责。
  • 传输后重新核对值:如果在机器之间移动文件或机密信息,请在两端重新计算哈希以确认一致。
  • 注意换行符:末尾多一个或少一个换行符都会完全改变哈希值。粘贴的文本与原文哪怕只差一个字符,校验和也不会匹配。

隐私

您选择的文件在浏览器中读取并计算哈希值,绝不会上传;粘贴的文本也以同样的方式计算。在分步模式下,结果、粘贴的文本和预期值会在各步骤之间保存在此浏览器标签页中,您无需再次粘贴。这些信息不会发送到我们的服务器,也不会添加到页面链接中。

常见问题

常见原因:您从不同版本的发布中复制了预期值、文本带有多余的空格、制表符或换行符(末尾一个换行符就会改变哈希值),或者您选择了与发布者不同的算法。请确认您比较的是正确的文本和正确的哈希行。

用于随意的损坏检测(下载是否完整结束?),有用。用于对安全性敏感的验证(此文件是否被篡改?),不行:MD5 碰撞在普通硬件上几秒钟就能构造出来。

CRC32 是一种快速的非加密校验和,ZIP 文件、PNG 图片和网络协议用它来发现意外损坏。它能很好地检测随机损坏,但攻击者可以在几毫秒内构造碰撞,因此绝不要依赖它保障安全。

可以。在第一步选择文件:文件会在您的浏览器中分块读取并计算哈希值,因此即使是数 GB 的 ISO 镜像也能处理,而且绝不会上传。然后粘贴发布者列出的值或整个 SHA256SUMS 文件,即可得到结果。

相关工具

此工具还提供其他语言版本