Контрольные суммы

CRC-16/CCITT, CRC-32, Adler-32, Fletcher-16/32

Нашли ошибку или хотите предложить улучшение?

Улучшить калькулятор «Контрольные суммы»

Теория

Контрольная сумма — короткое число, вычисляемое по данным, для обнаружения случайных ошибок передачи: CRC и Adler-32 обрабатывают поток байтов накопительным алгоритмом, выдавая на выходе фиксированное значение. Если при передаче биты исказились, сумма не совпадёт.

Контрольные суммы встроены в сетевые протоколы и форматы архивов: CRC32 используют в ZIP и PNG, Fletcher — в TCP-контроле. Это защита от помех, а не от злоумышленника — подделать сумму так же просто, как данные.

Важно: контрольные суммы не заменяют криптографические хеши — они ловят случайные сбои, а не намеренные изменения.

Пример с решением

  1. Условие. Найдите CRC32 строки «123456789».
  2. Формула. CRC32: полиномиальное деление потока битов с накоплением регистра.
  3. Подстановка. Девять байтов — стандартный проверочный вектор.
  4. Вычисление. Известный эталонный результат: CBF43926 (в hex).
  5. Ответ. CRC32(«123456789») = cbf43926. Калькулятор с этой строкой покажет сумму для каждого алгоритма: CRC16, CRC32, Adler-32, Fletcher.

Главное

  • Контрольная сумма — компактный «отпечаток» от помех.
  • Алгоритмы: CRC16/32, Adler-32, Fletcher.
  • Не защищает от намеренных изменений.