Для ознакомления с принципами применения CRC посетите страницу «Полное руководство по циклическому избыточному контролю».
Пользовательские параметры
Рассчитанный CRC
Результат представлен ниже.
Контрольная сумма циклической избыточности (CRC) — это код обнаружения ошибок, широко используемый в цифровых сетях и устройствах хранения данных для выявления случайных изменений исходных данных. Он работает, рассматривая сообщение как большое двоичное число и деля его на фиксированное двоичное число, «полином». Остаток от этого деления и есть контрольная сумма CRC.
Визуализация процесса
Приведённая ниже анимация упрощает процесс двоичного деления в столбик, который является основой вычисления CRC. Вы можете пошагово увидеть, как генерируется остаток (значение CRC). Это концептуальная модель; реальные реализации значительно оптимизированы в аппаратном и программном обеспечении.
Изучите распространенные алгоритмы CRC. Щелкните по любой строке, чтобы загрузить ее параметры в калькулятор.
| Имя | Ширина | Многочлен | Начальное значение | Поразмышляйте | Отразите в себе | Финальное XOR |
|---|
Как правильно пользоваться калькулятором CRC
Калькулятор обрабатывает байты, поэтому сначала определите, как исходные данные должны быть преобразованы в байты. Строка (UTF-8) кодирует введённые символы. Шестнадцатеричный формат принимает последовательность байтов напрямую и обычно надёжнее для дампа памяти, перехваченного пакета или последовательного кадра.
- Полином задаёт порождающий полином.
- Начальное значение загружается в регистр до первого байта.
- RefIn / RefOut управляет отражением битов входных байтов и результата.
- Финальный XOR применяется после обработки последнего байта.
Одного полинома недостаточно для определения варианта CRC: должны совпадать также начальное значение, отражение и финальный XOR.
Примеры входных и выходных данных
Введите 123456789 как строку UTF-8. Для CRC-16/MODBUS ожидается 0x4B37, а для CRC-32 — 0xCBF43926.
Шестнадцатеричная строка 31 32 33 34 35 36 37 38 39 содержит те же девять байтов ASCII и должна дать ту же контрольную сумму. Так можно проверить влияние кодировки текста.
Как интерпретировать результат CRC
Совпадение контрольной суммы означает, что байты и параметры CRC соответствуют эталону. При расхождении проверьте:
- Пробелы, переводы строк, разделители и завершающий нулевой байт.
- Тип входа: текст, исходные hex-байты или отображаемое числовое значение.
- Начальное значение, отражение входа/выхода и финальный XOR.
- Порядок little-endian или big-endian для передаваемых байтов CRC.
Технические источники
Параметры и контрольные значения можно сверить со спецификацией AUTOSAR CRC Routines, спецификацией USB 2.0 и снабжённым источниками каталогом CRC RevEng.
CRC обнаруживает случайные ошибки передачи или хранения, но не подтверждает подлинность и не заменяет криптографический хеш или MAC.







