Контрольна сума файлу: що це таке і як перевірити

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

Що таке контрольна сума

Контрольна сума або хеш-сума – це значення, яке було розраховане за певним алгоритмом на основі наявних файлів або даних. Особливістю контрольної суми є те, що її алгоритм, при однакових вхідних даних завжди видає однакове значення. При цьому найменша зміна вхідних даних кардинально змінює значення контрольної суми.

Ця особливість дозволяє використовувати контрольну суму для перевірки цілісності файлів або даних. Наприклад, вам потрібно відправити якийсь файл, і ви хочете переконатися, що він не буде пошкоджений або змінений на своєму шляху до одержувача. Для вирішення цього завдання можна використовувати контрольну суму. Вираховує контрольну суму і відправляєте її разом з файлом. Після чого одержувач файлу повторно вираховує контрольну суму файлу і порівнює її з вашої контрольної сумою. Якщо значення збігаються, значить файл оригінальний, якщо немає, значить він отримав якісь зміни.

Також потрібно згадати, що контрольну суму можна використовувати для отримання вихідних даних. Тобто не можна «розшифрувати» хеш-суму і отримати дані які були хешировані, хеш-суму можна тільки порівняти з іншого хеш-сумою. Це особливість відкриває додаткові можливості. Наприклад, хеш-суми використовуються для зберігання паролів. Коли ви входите на якомусь сайті і вводите свій пароль, то він не зберігається на сервері у відкритому вигляді. Замість цього зберігається тільки його контрольна сума. А коли ви входите в свій аккаунт з використанням пароля, система виходить ваш пароль, вираховує його хеш-суму і порівнює з хеш-сумою, яка зберігається на сервері. Якщо хеш-суми збіглися, значить пароль вірний і ви можете увійти в обліковий запис, якщо хеш-суми не збігаються, значить пароль невірний і вас перенаправляють на сторінку для відновлення пароля.

Для вираховування контрольної суми існує безліч різних алгоритмів або так званих хеш-функцій. Найбільш відомими і популярними алгоритми є: CRC32, MD5, SHA-1 і SHA-2. Але, є і безліч інших алгоритмів, деякі з яких мають широке застосування, а деякі використовуються тільки для специфічних завдань. При цьому частина існуючих алгоритмів визнані застарілими або вразливими і більше не використовуються. Так, алгоритм MD5 практично повністю перестав використовуватися оскільки з’ясувалося, що він може видавати однакові значення для різних вхідних значень.

Для прикладу продемонструємо, як виглядає контрольна сума на практиці. Наприклад, візьмемо рядок «Hello, world!» І підрахуємо її контрольну суму з використанням декількох популярних алгоритмів.

алгоритм значення
Adler32 205e048a
CRC32 ebe6c6e6
Haval 5711dea10d85b988fcb1eed99ce7310c
8cca0e965edd0e223b744f9cedf8e141
0abe9ee1f376caa1bcecad9042f16e73
6cd3556deb0da54bca060b4c39479839
RipeMD128 3cbb446fc20277b2a4e4b8b8b40aa962
RipeMD160 58262d1fbdbe4530d8865d3518c6d6e41002610f
SHA-1 943a702d06f34599aee1f8da8ef9f7296031d699
SHA-256 315f5bdb76d078c43b8ac0064e4a0164612b1fce77c869345bfc94c75894edd3
SHA-384 55bc556b0d2fe0fce582ba5fe07baafff035653638c7ac0d5494c2a64c0bea1cc57331c7c12a45cdbca7f4c34a089eeb
SHA-512 c1527cd893c124773d811911970c8fe6e857d6df5dc9226bd8a160614c0cd963a4ddea2b94bb7d36021ef9d865d5cea294a82dd49a0bb269f51f6e7a57f79421
Tiger b5e5dd73a5894236937084131bb845189cdc5477579b9f36
Whirlpool 238034e71c9f4d712ef02f8fe109bc1f32425530088c1ea13786e1ffdc953a7d567db4aba11ce0226efdd5ed5d55abd087b58122f891e61df996a37e595131b5

Як видно, кожен алгоритм видає значення, яке не має абсолютно нічого спільного з вихідними даними. І скільки разів ми б не вираховували контрольну суму рядка «Hello, world!», Ми кожен раз будемо отримувати одні і ті ж значення.

Перевірка контрольних сум онлайн

Якщо потрібно перевірити контрольну суму якийсь рядка (наприклад, пароля), то найпростіше скористатися онлайн сервісами. Знайти такі онлайн сервіси можна в будь-якому пошуковику за запитом «hash online».

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

Щоб перевірити наведену вище таблицю введемо рядок «Hello, world!», Виберемо алгоритм MD5 і натиснемо на кнопку «hash».

В результаті на екрані з’явиться рядок зі значенням хеш-функції MD5.

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

Перевірка контрольної суми файлу

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

Після установки даної програми у властивостях файлу з’явиться нова вкладка «Хеш-суми файлів», в якій буде відображатися хеш-сума обраного вами файлу.

При цьому користувач можна змінити набір алгоритмів, які програма HashTab використовує для розрахунку хеш-суми. Для цього потрібно натиснути на посилання «Налаштування», вибрати потрібні алгоритми і зберегти зміни за допомогою кнопки «ОК».

Отримані значення контрольних сум можна скопіювати, для цього потрібно клікнути на значенням за допомогою правої кнопки мишки.

Також HashTab дозволяє порівнювати файли. Для цього потрібно натиснути на кнопку «Порівняти файл» і вибрати інший файл.

Програма HashTab є безкоштовною для особистого користування, некомерційних організацій та студентів. Завантажити програму можна на офіційному сайті.

Ссылка на основную публикацию