Калькулятор CRC
Контрольные суммы CRC-8, CRC-16 и CRC-32 для текста или hex-байтов, с готовыми пресетами и своими полиномами
Загрузка инструмента…
Вычисляет CRC текста, hex-байтов или файла по 34 именованным алгоритмам CRC-8, CRC-16 и CRC-32 или по вашим параметрам — например, чтобы проверить кадр Modbus или выяснить, какой CRC использует устройство.
Как пользоваться
- Выберите «Текст», «Hex-байты» или «Файл» и введите данные.
- Выберите «Алгоритм», например CRC-16/MODBUS. CRC показывается в шестнадцатеричном, десятичном и двоичном виде.
- «Байты для добавления в кадр» показывает, в каком порядке передаются байты CRC.
- Чтобы определить неизвестный CRC, введите ожидаемое значение в «Найти значение CRC».
- Для алгоритма, которого нет в списке, откройте «Параметры» и задайте разрядность, полином, начальное значение, отражение и финальный XOR.
Как это работает
- Пресеты и контрольные значения взяты из каталога параметризованных алгоритмов CRC RevEng; каждый пресет проверен по своему контрольному значению — CRC ASCII-текста 123456789.
- Отражённые алгоритмы, такие как MODBUS, обычно передаются младшим байтом вперёд, остальные — старшим байтом вперёд.
- Файлы читаются на этом устройстве и никуда не загружаются. Также показываются сумма, XOR, LRC, Fletcher-16 и Adler-32.
Частые вопросы
- Какой CRC-16 Modbus у 01 03 00 00 00 0A?
- 0xCDC5. Modbus RTU добавляет младший байт первым, поэтому кадр заканчивается на C5 CD.
- Чем отличаются CRC-16/CCITT-FALSE, XMODEM и KERMIT?
- Все используют полином 0x1021. CCITT-FALSE начинается с 0xFFFF, XMODEM — с 0, а KERMIT — с 0 и отражёнными битами. Для 123456789 они дают 0x29B1, 0x31C3 и 0x2189.
- Почему мой CRC-32 не совпадает с результатом другой программы?
- Сначала проверьте входные байты: UTF-8 и Latin-1 кодируют один и тот же текст по-разному. Стандартный CRC-32 (ISO-HDLC) даёт 0xCBF43926 для 123456789; MPEG-2 и BZIP2 используют другие параметры.
- Достаточно ли CRC, чтобы обнаружить подделку данных?
- Нет. CRC выявляет случайные ошибки, но любой может изменить данные и пересчитать его. Используйте криптографический хеш, например SHA-256.