校验和验证器

校验和是根据数据计算出的短指纹,发布者列出它们,以便您确认下载内容或配置值未被损坏或篡改。此验证器使用 MD5、SHA-1、SHA-256、SHA-384、SHA-512 或 CRC32 计算您粘贴的文本的校验和;如果您还粘贴了预期值,它会一眼告诉您是否匹配。适合用供应商列出的哈希值核对 API 密钥、许可证代码、配置片段和短消息。

如何验证校验和

  1. 1

    粘贴文本

    输入或粘贴需要计算校验和的文本,例如 API 密钥、许可证代码或配置片段。

  2. 2

    选择算法

    选择 MD5、SHA-1、SHA-256、SHA-384、SHA-512 或 CRC32。请使用与发布者计算比较值时相同的算法。

  3. 3

    粘贴预期值(可选)

    添加发布者页面上的哈希值。比较不区分字母大小写;请保持哈希值原样。

  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 图片和网络协议用它来发现意外损坏。它能很好地检测随机损坏,但攻击者可以在几毫秒内构造碰撞,因此绝不要依赖它保障安全。

此工具处理的是粘贴的文本,而不是文件。要检查下载的文件,请在您自己的设备上计算其哈希(例如使用 sha256sum、Get-FileHash 或图形工具),并将结果与发布者列出的值比较。

相关工具