CRC-32 校验和计算器
计算 CRC-32 校验和:zip/PNG 用的 CRC-32、CRC-32C(Castagnoli)、BZIP2、MPEG-2、POSIX cksum、JAMCRC 或自定义参数,输入可为文本、十六进制或 Base64。
与 Python 的 zlib.crc32、PHP 的 crc32() 和 hash("crc32b"),以及 zip、gzip 和 PNG 文件中的 CRC 字段相同。
| 变体 | 十六进制 | 十进制 |
|---|---|---|
| CRC-32 (ISO-HDLC) | CBF43926 | 3,421,780,262 |
| CRC-32C (iSCSI) | E3069283 | 3,808,858,755 |
| CRC-32/BZIP2 | FC891918 | 4,236,843,288 |
| CRC-32/MPEG-2 | 0376E6E7 | 58,124,007 |
| CRC-32/CKSUM | 765E7680 | 1,985,902,208 |
| CRC-32/JAMCRC | 340BC6D9 | 873,187,033 |
| CRC-32/AUTOSAR | 1697D06A | 379,048,042 |
| CRC-32D (BASE91-D) | 87315576 | 2,268,157,302 |
| CRC-32Q (AIXM) | 3010BF7F | 806,403,967 |
| CRC-32/CD-ROM-EDC | 6EC2EDC4 | 1,858,268,612 |
| CRC-32/XFER | BD0BE338 | 3,171,672,888 |
CRC-32 是一种 32 位校验和,用来发现数据的意外改动:zip、gzip 和 PNG 文件会为每个条目保存一个,存储系统则用 CRC-32C 来发现损坏的块。不过“CRC-32”其实是一个家族——不同变体的多项式、初始值、位顺序和最终异或值各不相同,所以两个工具的结果可能不一致。这个计算器覆盖了 CRC 目录中的常见预设,也可输入自定义参数,输入可以是文本、十六进制或 Base64。
使用方法
- 粘贴文本,或十六进制/Base64 字节,并说明是哪一种。
- 选择你的系统使用的 CRC 变体(zip/PNG/PHP crc32 用 CRC-32,iSCSI 和云存储用 CRC-32C)。
- 以十六进制、十进制或 Base64 查看校验和;表格会一次列出所有预设。
- 勾选逐行模式,可对每一行分别计算校验和。
计算公式
CRC = reflect?(remainder of (input · x³²) ÷ P(x) over GF(2), starting from the initial register) XOR xorout
P(x) 是生成多项式(CRC-32 为 0x04C11DB7,CRC-32C 为 0x1EDC6F41)。“反射输入”表示每个字节从最低有效位开始处理,“反射输出”则把 32 位结果镜像翻转。校验值——即 ASCII 文本 123456789 的 CRC——可以唯一地识别一个变体。
示例
ASCII 文本 123456789 在标准 CRC-32 下得到 CBF43926,CRC-32C 下为 E3069283,BZIP2 下为 FC891918,MPEG-2 下为 0376E6E7,这些都是 CRC 目录中列出的校验值。PHP 的 crc32("The quick brown fox jumped over the lazy dog.") 是 2191738434,本工具得到相同结果。
常见问题
CRC-32 是安全的哈希吗?
不是。CRC 能发现意外错误,但任何人都可以改动数据再修正 CRC。要确认下载文件没有被篡改,请使用 SHA-256。
为什么我的结果和另一个工具不同?
很可能是另一种变体,或者输入字节不同(文本编码、末尾换行、十六进制还是文本)。请对照 "123456789" 的校验值来识别变体。
为什么 POSIX cksum 输出的数字不同?
cksum 使用 CRC-32/CKSUM 的参数,但还会在数据之后处理输入长度,所以输出与单纯的算法不同。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/crc32-checksum-tool/
引用此工具
kakaoCalc. (2026, November 8). CRC-32 校验和计算器. https://kakao.mobile/zh/tools/crc32-checksum-tool/
“CRC-32 校验和计算器.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/crc32-checksum-tool/.