Домашня » як » Що таке контрольна сума (і чому ви повинні дбати)?

    Що таке контрольна сума (і чому ви повинні дбати)?

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

    Контрольні сумки, що пояснюються

    Щоб створити контрольну суму, ви запускаєте програму, яка розміщує цей файл за допомогою алгоритму. Типові алгоритми, що використовуються для цього, включають MD5, SHA-1, SHA-256 і SHA-512.

    Алгоритм використовує криптографічну хеш-функцію, яка приймає вхідні дані і виробляє рядок (послідовність чисел і букв) фіксованої довжини. Вхідний файл може бути невеликим файлом розміром 1 Мб або масовим файлом розміром 4 ГБ, але в будь-якому випадку ви отримаєте контрольну суму однакової довжини. Контрольні суми також можуть називатися "хешами".

    Невеликі зміни у файлі створюють різні контрольні суми. Наприклад, ми створили два різних текстових файли, які майже однакові, але один має знак оклику, де інший має період. Після запуску вбудованої в Windows 10 утиліти контрольної суми на них ми побачили дуже різні контрольні суми. Різниця в одному символі в базовому файлі створює різну контрольну суму.

    Коли контрольні суми є корисними

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

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

    Комп'ютери використовують методики контрольної суми, щоб перевірити дані для проблем у фоновому режимі, але ви також можете зробити це самостійно. Наприклад, дистрибутиви Linux часто надають контрольні суми, щоб ви могли перевірити правильність завантаження вашого ISO ISO перед записуванням на диск або розміщенням на диску USB. Ви також можете використовувати контрольні суми для перевірки цілісності будь-якого іншого типу файлів, від додатків до документів і носіїв. Вам просто потрібно знати контрольну суму вихідного файлу.

    Яка різниця між сумами MD5, SHA-1 і SHA-256?

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

    Однак ці криптографічні хеш-функції не є досконалими. Дослідники безпеки виявили «зіткнення» з функціями MD5 і SHA-1. Іншими словами, вони знайшли два різних файли, які виробляють однаковий хеш MD5 або SHA-1, але різні.

    Навряд чи це відбудеться випадковим чином, але зловмисник може використовувати цю техніку, щоб замаскувати зловмисний файл як законний файл. Ось чому ви не повинні покладатися на суми MD5 або SHA-1, щоб переконатися, що файл автентичний - просто перевірте, чи пошкоджено.

    Ще не було жодних повідомлень про зіткнення SHA-256, тому зараз додатки створюють суми SHA-256 замість сум MD5 і SHA-1. SHA-256 є більш сильним, більш безпечним алгоритмом.

    Різні алгоритми контрольної суми дають різні результати. Файл матиме різні контрольні суми MD5, SHA-1 і SHA-256. Якщо ви знаєте лише суму MD5 оригінального файлу, ви повинні обчислити суму MD5 вашої копії для перевірки відповідності.

    Як розрахувати контрольні суми

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

    У Windows, PowerShell Get-FileHash команда обчислює контрольну суму файлу. Щоб використовувати його, спочатку відкрийте PowerShell. У Windows 10 клацніть правою кнопкою миші кнопку Пуск і виберіть "Windows PowerShell". Ви також можете запустити його за допомогою меню "Пуск" для "PowerShell" і натиснувши ярлик "Windows PowerShell".

    У рядку введіть Get-FileHash а потім натисніть пробіл.

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

    Натисніть Enter, щоб запустити команду, і ви побачите хеш SHA-256 для файлу. Залежно від розміру файлу та швидкості зберігання вашого комп'ютера процес може зайняти кілька секунд.

    Якщо вам потрібний інший тип контрольної суми, додайте відповідний -Алгоритм опція до кінця команди, наприклад так:

    Get-FileHash C: файл.iso -Algorithm MD5
    Get-FileHash C: шлях до.iso -Algorithm SHA1

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

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