Циклический контроль избыточности (CRC) - это код обнаружения ошибок, предназначенный для обнаружения случайных изменений необработанных компьютерных данных и обычно используемый в цифровых сетях. (wiki) Алгоритм CRC32 обычно принимает файловый поток или массив символов и вычисляет длинное кодовое слово без знака из входных данных. Можно передать это кодовое слово и повторно вычислить его на стороне приемника, а затем сравнить его с переданным, чтобы обнаружить ошибку.

Циклический контроль избыточности (CRC) - это код обнаружения ошибок, обычно используемый в цифровых сетях и устройствах хранения для обнаружения случайных изменений необработанных данных. К блокам данных, поступающим в эти системы, прикрепляется краткое контрольное значение, основанное на остатке от полиномиального деления их содержимого; при извлечении расчет повторяется, и можно предпринять корректирующие действия против предполагаемого повреждения данных, если контрольные значения не совпадают. википедия

Наиболее часто используемые полиномиальные длины:

  • CRC-8: 9 бит
  • CRC-16: 17 бит
  • CRC-32: 33 бита
  • CRC-64: 65 бит

Поистине отличный учебник по CRC - это "Безболезненное руководство по алгоритмам обнаружения CRC" Росс Уильямс, которое также можно найти здесь, здесь, здесь, здесь и здесь.