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(比如缓存分桶)。
操作步骤
- 把文本粘进输入框。
- 结果实时显示十进制、十六进制值。
注意事项
CRC-32 不是密码学哈希,仅用于错误检测和数据分片;不要用它做防篡改校验。
常见问题
- 和 Linux `crc32` 命令一致吗?
- 一致(使用相同的 IEEE 多项式)。差异一般出自输入的编码或行尾差异。
- 两个文件 CRC 相同就说明完全一致吗?
- 不能。32 位空间存在碰撞,CRC 也不是抗恶意修改的密码学函数。需要更可靠的内容核对时使用适合场景的摘要及可信来源。
- 为什么 CRC-32C 结果不同?
- CRC-32C 使用另一种生成多项式。核对校验值时必须确认多项式、初始值、反射与最终异或参数。
- 输入 41 与输入字母 A 的校验值为何不同?
- 本工具没有十六进制字节输入模式。41 会按两个文本字符编码,而 A 是一个字节值为十六进制 41 的字符,因此处理的原始字节不同。
相关工具