跳转到正文

CRC32 生成器

立即计算任意文本的 CRC32 校验和。该工具将输入编码为 UTF-8,并应用标准的 IEEE 802.3 CRC-32 多项式。这一多项式用于 ZIP、gzip、PNG 和以太网。随后,工具会以 8 位十六进制数字或无符号十进制数返回结果。你可以用它检查已存储的校验和、调试文件格式,并与 zlib、PHP crc32 或其他库的结果进行比较。

重置

常见问题

什么是 CRC32?

CRC32 是一种 32 位循环冗余校验,用于检测数据是否意外更改。此工具使用 IEEE 802.3 多项式 0x04C11DB7 的反射形式,也就是 ZIP、gzip、PNG 和 zlib 所使用的变体。结果是一个 32 位数值。

CRC32 的标准校验值是什么?

文本 123456789 的 CRC-32 已发布校验值为 cbf43926。空输入的结果为 00000000,abc 的结果为 352441c2。你可以用这些值确认另一个实现使用的是相同变体。

为什么有些工具显示的 CRC32 不同?

还有其他变体,例如 iSCSI 和 ext4 使用的 CRC-32C(Castagnoli),以及非反射的 BZIP2 形式。它们使用不同的多项式或位顺序,因此结果也不同。还要确认两端对相同字节进行哈希,包括换行符。

十进制输出是什么意思?

十进制格式会将校验和显示为从 0 到 4294967295 的无符号整数。在 64 位系统上,这与 PHP 的 crc32 以及 Python 的 zlib.crc32 相符。十六进制输出是用八位十六进制数字表示的同一个数值。

CRC32 是加密哈希吗?

不是。CRC32 用于检测随机传输错误,但任何人都可以构造出具有指定校验和的数据。如果需要防范蓄意篡改,请使用 SHA-256 或其他加密哈希。

CRC32 碰撞的可能性有多大?

由于只有 32 位,两个随机输入的校验和相同的概率约为四十亿分之一。在约 77,000 个输入中,任意一对发生碰撞的概率就已达到 50%。CRC32 适合错误检测,但不适合用作唯一标识符。

校验和计算前,文本会如何转换?

该工具会将文本按原样转换为 UTF-8 字节。非 ASCII 字符会占用多个字节,换行符也会计入,因此请确保另一端使用相同的字节。

十六进制输出会补零吗?

会。十六进制形式始终包含八位小写数字,必要时会在前面补零,因此 0x0000abcd 会显示为 0000abcd。有些工具会省略前导零或使用大写字母,但数值相同。

可以计算文件的 CRC32 吗?

此工具适用于你粘贴的文本。对于文件,请使用本地命令,例如 libarchive 工具中的 crc32,或用 zlib 编写一个简短脚本。ZIP 中央目录也会存储每个条目的 CRC32。

输入最长可以有多长?

每次请求最多可处理 5 MiB 文本。CRC32 的速度很快,因此结果会立即返回,且不会存储输入内容。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。