Як обчислити контрольну суму

Як обчислити контрольну суму

Щоб бути впевненим у тому, що файл переданий по лінії зв’язку правильно, відправник попередньо обчислює його контрольну суму, яку повідомляє одержувачеві. Той, прийнявши файл, також обчислює його контрольну суму, а потім перевіряє, чи співпадає вона з тією, яку повідомив відправник.

Інструкція

  1. Якщо зміст файлу записано у вигляді ряду рядків, у кожному з яких міститься по кілька десятків двозначних шістнадцятирічних цифр, в кожній з рядків складіть ці числа між собою. Суму, виражену також в шістнадцятковій системі числення, запишіть праворуч від рядка. Обчисліть таким чином контрольні суми всіх рядків. Потім складіть між собою і їх. Результат, який ви і в цьому випадку висловіть в шістнадцятковій системі числення, і буде контрольною сумою всього файлу.
  2. У ряді випадків контрольна сума виходить занадто великий і незручною для передачі. Тоді передайте разом з файлом лише кілька молодших розрядів цієї суми (наприклад, чотири). Одержувач в цьому випадку буде повинен після розрахунку контрольної суми аналогічним чином порівняти молодші розряди результату з числом, яке вислали ви.
  3. У наші дні застосовуються більш складні алгоритми обчислення контрольної суми, ніж просте додавання з наступним відділенням молодших розрядів. Здійснювати розрахунок за цими алгоритмами вручну незручно. Один з них називається CRC (Cyclic Redundancy Check). Результат розрахунку за цим алгоритмом прийнято виражати не в шістнадцятковій, а в двійковій системі числення. Для того щоб його вирахувати, скористайтеся утилітою cksum (в Linux) або CRC-Check (в DOS або Windows).
  4. Поряд з CRC, в даний час широко використовуються сучасні алгоритми обчислення контрольних сум MD5 і SHA. Програми для їх обчислення є кроссплатформенной. Існують їх версії як для Linux, так і для Windows (але не для DOS). Найбільш часто серед них використовується перша. Для того, щоб з її допомогою обчислити контрольну суму за алгоритмом MD5, незалежно від того, якою операційною системою ви користуєтеся, введіть команду:

    md5sum імяфайла.рсш> імяфайла.md5

    Вийде другий файл, в який і буде записана контрольна сума. Передайте одержувачу обидва файли. Коли він їх отримає, він виконає таку команду:

    md5sum-c імяфайла.md5

    Утиліта обчислить контрольну суму першого файлу з інформацією, що зберігається в другому, а потім повідомить, чи збігаються вони.