CRC 计算器(CRC-8、CRC-16、CRC-32)

使用标准 CRC-8、CRC-16、CRC-32 和 CRC-32C 参数,根据文本或十六进制字节计算校验码。

✓ 计算仅在浏览器本地进行✓ 已通过标准校验值验证
计算前会将文本编码为 UTF-8 字节。

CRC 计算结果

CRC-32/ISO-HDLC · 9 字节

十六进制0xCBF43926
十进制3421780262
二进制0b11001011111101000011100100100110
位宽32 bit
Poly0x04C11DB7
Init0xFFFFFFFF
RefIn / RefOut是 / 是
XorOut0xFFFFFFFF
Check0xCBF43926

在线 CRC 校验码计算器

本工具可以根据 UTF-8 文本或原始十六进制字节计算循环冗余校验码。CRC 不能只看位宽;多项式、初始值、输入与输出反转、最终异或值都必须与目标设备或协议保持一致。

支持的 CRC 参数模型

参数模型 位宽 常见用途
CRC-8/SMBUS 8 位 SMBus 与短数据校验
CRC-8/MAXIM-DOW 8 位 Dallas/Maxim 1-Wire 设备
CRC-16/ARC 16 位 通用旧式数据校验
CRC-16/CCITT-FALSE 16 位 通信与嵌入式协议
CRC-16/MODBUS 16 位 Modbus RTU 报文
CRC-16/XMODEM 16 位 XMODEM 文件传输
CRC-32/ISO-HDLC 32 位 ZIP、以太网和文件校验
CRC-32C/CASTAGNOLI 32 位 存储与网络协议

使用方法

  1. 选择协议或设备要求的 CRC 算法。
  2. 普通文字选择“文本 / UTF-8”,数据包选择“十六进制字节”。
  3. 输入数据并点击“计算 CRC”。
  4. 复制十六进制校验码,也可以对照十进制和二进制结果。

示例 123456789 是验证 CRC 实现时通用的标准检查字符串。本页每一种算法都通过了对应的标准检查值测试。

文本输入与十六进制输入的区别

文本模式会先将字符编码为 UTF-8,因此中文等非 ASCII 字符会占用多个字节。十六进制模式直接使用输入的字节,例如 31 32 33 就是 ASCII 字符 123 的三个字节。字节之间可以用空格、逗号、冒号或连字符分隔。

CRC 不是加密算法

CRC 适合发现传输或存储过程中的意外错误,但它不是密码学哈希,无法防止人为修改。需要验证真实性时,应使用安全哈希或消息认证码。

常见问题

为什么不同 CRC 计算器的结果不一样?

通常是参数模型不同。除位宽外,还要检查 Poly、Init、RefIn、RefOut 和 XorOut。

CRC-32 和 CRC-32C 有什么区别?

两者都是 32 位校验码,但使用不同多项式,结果不能互换。

输入数据会上传吗?

不会。编码和 CRC 计算全部在当前浏览器本地完成。