CRC 文件校验值计算器

在浏览器中计算文件的 CRC-32、CRC-32C、CRC-16、CRC-8 和 CRC-64 校验值,并与预期值比对。文件无需上传,支持大文件。

尚未选择文件。选择文件后会立即显示校验值。

文件在浏览器中分块读取,绝不会上传。

什么是 CRC 文件校验?

本工具一次读取即可计算文件的多种 CRC 校验值——CRC-32(zip、PNG、以太网)、CRC-32C(iSCSI、ext4、SCTP)、CRC-32/BZIP2、CRC-32/MPEG-2、CRC-16/ARC、CRC-16/MODBUS、CRC-16/CCITT-FALSE、CRC-16/XMODEM、CRC-16/KERMIT、CRC-8/SMBUS、CRC-8/MAXIM 和 CRC-64/XZ,并将所选变体与预期值进行比对。文件在本地以 4 MB 分块读取,绝不会上传。

如何使用 CRC 文件校验

  1. 选择要比对的 CRC 变体(默认为 CRC-32)。
  2. 点击拖放区域或将文件拖到上面;文件会分块读取,并显示进度条。
  3. 查看下方显示的 文件名 和 文件大小,确认选对了文件。
  4. 将预期的 CRC(十六进制或十进制)粘贴到 预期校验值(可选) 中,即可看到“匹配”或“不匹配”;所有变体都列在下方表格中。

示例

输入
A file hash-check.txt containing the 9 bytes "123456789"
输出
cbf43926

文件的 CRC-32;在预期校验值中输入 3421780262(十进制)或 CBF43926 都会显示匹配。

何时使用 CRC 文件校验

可用于核对 ZIP 压缩包、SFV 文件或固件清单中为某个文件列出的 CRC-32,或为嵌入式升级镜像计算 CRC。CRC 只能检测意外损坏;若要验证下载文件是否被篡改,请改用 SHA-256 校验值。

CRC 文件校验 的工作原理

文件按 4 MB 切片读取,每个切片会同时更新所有 CRC 变体,因此只需读取一次就能得到完整表格。CRC 把数据看作一个很长的二进制多项式,计算它除以固定生成多项式(模 2)后的余数。每种变体由位宽、多项式、初始值、输入和输出位是否反转以及最终异或值共同定义(即 Rocksoft 模型)。本工具为每种变体使用 256 项查找表,并用目录中的校验值验证每一种变体——即 ASCII 字符串 123456789 的 CRC(例如 CRC-32 = cbf43926,CRC-32C = e3069283,CRC-16/MODBUS = 4b37)。结果以大端序十六进制数或十进制显示。

常见用例

  • 将文件与 SFV(Simple File Verification)列表中的 CRC-32 进行比对
  • 根据清单中的 CRC 检查固件镜像
  • 获取 ZIP 压缩包应为某个文件记录的 CRC-32
  • 为云存储完整性检查计算数据块的 CRC-32C

安全提示

CRC 无法检测蓄意篡改,任何人都能修改文件而保持 CRC 不变。涉及安全的验证请使用 SHA-256 或数字签名。

常见问题

文件会被上传吗?

不会。文件通过浏览器的 File API 读取,并在本地分块处理,即使是大文件也不会离开你的设备。

为什么我的 CRC-32 与 cksum 命令的结果不同?

POSIX cksum 使用另一种未反转的 CRC-32,并会附加文件长度。ZIP、gzip、PNG 和 SFV 文件使用的是这里显示的 CRC-32。

可以用十进制输入预期的 CRC 吗?

可以。对于 CRC 变体,预期校验值既接受十六进制(大小写均可,0x 前缀可选),也接受十进制数。

探索更多分类