CRC-32 计算

CRC-32 计算

在本地对 UTF-8 文本计算 CRC-32 (IEEE) 校验值

浏览器本地计算

输入文本会自动输出两种进制的校验值;这里按 UTF-8 文本计算,输入“41”不会自动当作十六进制字节。

 
十六进制
十进制

示例

输入

123456789

示例结果

十六进制:cbf43926
无符号十进制:3421780262

这是常用的 CRC 检查输入,末尾无换行。

技术细节与边界

实现使用反射多项式 0xEDB88320,初始值与最终异或均为 0xFFFFFFFF,对应常见 CRC-32/ISO-HDLC。CRC-32C 等变体参数不同,不能互换。计算前用 UTF-8 将文本变为字节,末尾换行会改变校验值。

关于此工具

计算 UTF-8 文本的 CRC-32 校验值,输出十六进制与无符号十进制。适合检查传输差错和核对代码实现;CRC 用于检错,不用于鉴别恶意篡改。

适用场景

  • 快速核对文本内容是否与旧版本一致。
  • 作为轻量 hash key(比如缓存分桶)。

操作步骤

  1. 把文本粘进输入框。
  2. 结果实时显示十进制、十六进制值。

注意事项

CRC-32 不是密码学哈希,仅用于错误检测和数据分片;不要用它做防篡改校验。

常见问题

和 Linux `crc32` 命令一致吗?
一致(使用相同的 IEEE 多项式)。差异一般出自输入的编码或行尾差异。
两个文件 CRC 相同就说明完全一致吗?
不能。32 位空间存在碰撞,CRC 也不是抗恶意修改的密码学函数。需要更可靠的内容核对时使用适合场景的摘要及可信来源。
为什么 CRC-32C 结果不同?
CRC-32C 使用另一种生成多项式。核对校验值时必须确认多项式、初始值、反射与最终异或参数。
输入 41 与输入字母 A 的校验值为何不同?
本工具没有十六进制字节输入模式。41 会按两个文本字符编码,而 A 是一个字节值为十六进制 41 的字符,因此处理的原始字节不同。

相关工具

CRC-32 计算 · 在本地对 UTF-8 文本计算 CRC-32 (IEEE) 校验值
CRC-32 计算 — 工具示意图 · dayeku.com