Контрольная сумма SYSV - SYSV checksum

В Алгоритм контрольной суммы SYSV является широко используемым, устаревшим контрольная сумма алгоритм. Это было реализовано в Система UNIX V а также доступен через Сумма GNU утилита командной строки.

Новые алгоритмы контрольной суммы

Страница руководства служебной программы суммы GNU (которая реализует Контрольная сумма BSD алгоритм) гласит: «сумма предоставляется для совместимости; программа cksum предпочтительнее в новых приложениях».

Описание алгоритма

Основная часть этого алгоритма - это просто сложение всех байтов в 32-битную сумму. В результате этот алгоритм имеет характеристики (недостатки и преимущества) простой суммы:

  • перестановка тех же байтов в другом порядке (например, перемещение текста из одного места в другое) не изменяет контрольную сумму.
  • увеличение одного байта и уменьшение другого байта на ту же величину не изменяет контрольную сумму.
  • добавление или удаление нулевых байтов не изменяет контрольную сумму.

В результате многие обычные изменения текстовых данных не обнаруживаются этим методом.

Последние две строки алгоритма уменьшают общую сумму до 16-битного числа.

Источники