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

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

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

Інструкція

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Утиліта вирахує контрольну суму першого файлу з інформацією, що зберігається в другому, а потім повідомить, чи збігаються вони.