Калькулятор CRC (CRC-8/16/32)
Локальный расчёт CRC-32, ARC, MODBUS, CCITT-FALSE и вариантов CRC-8; hex или текст.
Пример заполнен и редактируется. Всё считается локально, ничего не загружается.
Частые вопросы
CRC задаётся пятью параметрами: разрядность, полином, начальное значение, отражение и финальный XOR. Одинаковое имя при разных параметрах — разные алгоритмы.
Выберите CRC-16/MODBUS (init 0xFFFF). У ARC тот же полином, но init 0x0000 — результат другой.
Сейчас поддерживаются hex-байты и текст; загрузка файла появится позже.
Как пользоваться
Основной текст ниже пока полностью доступен только на китайском; интерфейс, заголовки, описания и FAQ отображаются на выбранном языке.
- 选择输入格式:
十六进制逐字节输入(支持空格、逗号、0x前缀,每个字节必须写满两位),或文本按 UTF-8 编码参与计算。 - 选择算法。默认
CRC-32,用于 ZIP/PNG/以太网;E2E 保护常用CRC-8系列;Modbus RTU 请用CRC-16/MODBUS。 - 结果区同时给出 HEX、十进制、参与计算的字节数与一次算法自检(用同一实现计算
123456789并与该算法公开的 check 值比对,用于发现参数录入错误,不是第三方认证)。
常用参数对照
| 算法 | 多项式 | 初值 | 反射 | 异或值 | check (123456789) | 典型用途 |
|---|---|---|---|---|---|---|
| CRC-32/ISO-HDLC | 0x04C11DB7 | 0xFFFFFFFF | 是 | 0xFFFFFFFF | 0xCBF43926 | 以太网 / ZIP / PNG |
| CRC-16/ARC (IBM) | 0x8005 | 0x0000 | 是 | 0x0000 | 0xBB3D | ARC / IBM SDLC |
| CRC-16/MODBUS | 0x8005 | 0xFFFF | 是 | 0x0000 | 0x4B37 | Modbus RTU |
| CRC-16/CCITT-FALSE | 0x1021 | 0xFFFF | 否 | 0x0000 | 0x29B1 | XMODEM |
| CRC-8/SAE-J1850 (reveng 模型) | 0x1D | 0xFF | 否 | 0xFF | 0x4B | 通用字节校验模型 |
| CRC-8 (poly 0x2F, AUTOSAR E2E Profile 2) | 0x2F | 0xFF | 否 | 0xFF | 0xDF | AUTOSAR E2E |
注意:
CRC-8/SAE-J1850这里是 reveng/参数模型(含最终 XOR 0xFF)。经典 CAN 帧内的 15 位 CRC 是另一套算法(初值、位序列与填充位参与方式都不同),不能用这里的 8 位结果代替。check 值来自各算法的公开定义,结果区的自检会用同一实现复算一次。