CRC校验值计算器
输入文本或十六进制字节串,计算常见CRC校验值(CRC-8/CRC-16-CCITT/CRC-16-MODBUS/CRC-32),纯JavaScript算法实现,无需外部依赖。
免费在线工具
Loading…
使用说明
- 选择输入模式:文本模式直接输入字符串,十六进制模式输入字节串(如
48656C6C6F或01 03 00 00 00 01) - 在输入框中输入要计算的数据
- 页面自动展示四种 CRC 算法的校验结果
- 点击「加载示例数据」可快速填入标准测试数据("123456789")验证计算正确性
功能介绍
- 支持四种常用 CRC 算法:CRC-8(多项式 0x07)、CRC-16-CCITT(多项式 0x1021)、CRC-16-MODBUS(多项式 0x8005)、CRC-32(多项式 0x04C11DB7,反射形式 0xEDB88320)
- 支持文本模式和十六进制字节串两种输入方式
- 纯 JavaScript 查表法实现,无需任何外部依赖库
- 均通过标准测试向量验证(如 CRC-32 的 "123456789" = CBF43926)
- CRC 本质是多项式除法在 GF(2) 域上的运算,用于数据完整性校验
使用场景
数据完整性校验
计算文件或数据的 CRC 校验值,验证传输或存储过程中数据是否损坏
通信协议开发
在 MODBUS、串口通信等协议开发中,计算并验证 CRC-16 帧校验值
PNG/GZIP 文件分析
验证 PNG 图像或 GZIP 压缩文件的 CRC-32 校验值,排查文件损坏问题
嵌入式开发调试
在嵌入式系统开发中,对比 CRC 计算结果以验证固件或数据的完整性
常见问题
什么是 CRC 校验?
CRC(Cyclic Redundancy Check,循环冗余校验)是一种根据数据产生简短固定位数校验码的散列函数,主要用来检测或校验数据传输或保存后可能出现的错误。它利用除法及余数的原理来做错误侦测。
CRC-32 和 gzip/PNG 用的 CRC 一样吗?
是的。CRC-32(多项式 0x04C11DB7,反射多项式 0xEDB88320)是 gzip、PNG、ZIP 等格式使用的标准 CRC,本工具的 CRC-32 算法与之完全兼容。
为什么 CRC-16-MODBUS 的校验值看起来字节反了?
MODBUS 协议在帧中传输 CRC 时按小端序(低字节在前)。本工具显示的是 CRC 的数值形式(高位在前),与标准测试向量一致。如果你看到工具结果和帧中顺序不同,交换高低字节即可。
文本模式和十六进制模式有什么区别?
文本模式将输入字符串按 UTF-8 编码后计算 CRC。十六进制模式将输入视为原始字节串(每两个十六进制字符为一个字节),适用于分析原始二进制数据。