CRC校验值计算器

输入文本或十六进制字节串,计算常见CRC校验值(CRC-8/CRC-16-CCITT/CRC-16-MODBUS/CRC-32),纯JavaScript算法实现,无需外部依赖。

免费在线工具
Loading…

使用说明

  1. 选择输入模式:文本模式直接输入字符串,十六进制模式输入字节串(如 48656C6C6F01 03 00 00 00 01
  2. 在输入框中输入要计算的数据
  3. 页面自动展示四种 CRC 算法的校验结果
  4. 点击「加载示例数据」可快速填入标准测试数据("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。十六进制模式将输入视为原始字节串(每两个十六进制字符为一个字节),适用于分析原始二进制数据。