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 文件校验
- 选择要比对的 CRC 变体(默认为 CRC-32)。
- 点击拖放区域或将文件拖到上面;文件会分块读取,并显示进度条。
- 查看下方显示的 文件名 和 文件大小,确认选对了文件。
- 将预期的 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 前缀可选),也接受十进制数。