校验和验证器
校验和是根据数据计算出的短指纹,发布者列出它们,以便您确认下载内容或配置值未被损坏或篡改。此验证器使用 MD5、SHA-1、SHA-256、SHA-384、SHA-512 或 CRC32 计算您粘贴的文本的校验和;如果您还粘贴了预期值,它会一眼告诉您是否匹配。适合用供应商列出的哈希值核对 API 密钥、许可证代码、配置片段和短消息。
如何验证校验和
-
1
粘贴文本
输入或粘贴需要计算校验和的文本,例如 API 密钥、许可证代码或配置片段。
-
2
选择算法
选择 MD5、SHA-1、SHA-256、SHA-384、SHA-512 或 CRC32。请使用与发布者计算比较值时相同的算法。
-
3
粘贴预期值(可选)
添加发布者页面上的哈希值。比较不区分字母大小写;请保持哈希值原样。
-
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 或图形工具),并将结果与发布者列出的值比较。
相关工具
A1Z26 密码编码器
使用 A1Z26 密码(A=1, B=2, ... Z=26)编码文本,或把数字序列解码回字母,并可自定义分隔符。
bcrypt 哈希生成器
生成 bcrypt 哈希,或用明文密码对照已有的 bcrypt 哈希进行验证。一个工具内并排支持生成和验证。
Base32 编码器和解码器
使用 RFC 4648 字母表编码和解码 Base32 字符串。适用于 TOTP 密钥、大小写不敏感的令牌和人工输入的标识符。
Base64 文件编码器
将任意文件(PDF、ZIP、图片、可执行文件)编码为 Base64 文本,用于嵌入 JSON、邮件、YAML 或 data URI。在浏览器本地运行,无需上传。
凯撒密码编码器
使用凯撒密码加密和解密文本。支持任意 1-25 位移,ROT13 可作为特殊情况处理,并保留标点和大小写。
Base58 编码器和解码器
编码 UTF-8 文本或十六进制字节,并使用 Bitcoin、Ripple 或 Flickr 字母表安全解码 Base58。