Як дізнатися хеш (контрольну суму) файлу в Windows PowerShell

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

На сайтах завантажень часто буває представлена ​​контрольна сума, обчислена за алгоритмами MD5, SHA256 і іншим, що дозволяє звірити долучення з файлом, викладеним розробником. Для обчислення контрольних сум файлів можна використовувати сторонні програми, але є спосіб зробити це і стандартними засобами Windows 10, 8 і Windows 7 (потрібно версія PowerShell 4.0 і вище) - за допомогою PowerShell або командного рядка, що і буде продемонстровано в інструкції.

Отримання контрольної суми файлу засобами Windows

Для початку потрібно запустити Windows PowerShell: найпростіше використовувати пошук в панелі завдань Windows 10 або меню Пуск Windows 7 для цього.

Команда, що дозволяє обчислити хеш для файлу в PowerShell - Get-FileHash, А щоб використовувати її для обчислення контрольної суми достатньо ввести її з наступними параметрами (в прикладі обчислюється хеш для образу ISO Windows 10 з папки VM на диску C):

Get-FileHash C: \ VM \ Win10_1607_Russian_x64.iso | Format-List

При використанні команди в такому вигляді, хеш обчислюється за алгоритмом SHA256, але підтримуються і інші варіанти, задати які можна за допомогою параметра -Algorithm, наприклад, для обчислення контрольної суми MD5 команда буде виглядати як в прикладі нижче

Get-FileHash C: \ VM \ Win10_1607_Russian_x64.iso -Algorithm MD5 | Format-List

При цьому підтримуються наступні значення для алгоритмів обчислення контрольної суми в Windows PowerShell

  • SHA256 (за замовчуванням)
  • MD5
  • SHA1
  • SHA384
  • SHA512
  • MACTripleDES
  • RIPEMD160

Детальний опис синтаксису команди Get-FileHash є також на офіційному сайті https://technet.microsoft.com/en-us/library/dn520872(v=wps.650).aspx

Отримання хеша файлу в командному рядку за допомогою CertUtil

У Windows присутня вбудована утиліта CertUtil для роботи з сертифікатами, яка, крім іншого, вміє вираховувати контрольну суму файлів по алгоритмам:

  • MD2, MD4, MD5
  • SHA1, SHA256, SHA384, SHA512

Щоб мати змогу користуватися досить запустити командний рядок Windows 10, 8 або Windows 7 і ввести команду в форматі:

certutil -hashfile шлях_до_файлу алгоритм

Приклад отримання хеша MD5 для файлу показаний на скріншоті нижче.

Додатково: на випадок, якщо вам потрібні сторонні програми для обчислення хеш файлів в Windows, можна звернути увагу на SlavaSoft HashCalc.

Якщо ж потрібно обчислити контрольну суму в Windows XP або в Windows 7 без PowerShell 4 (і можливості його встановити), ви можете використовувати утиліту командного рядка Microsoft File Checksum Integrity Verifier, доступну для завантаження на офіційному сайті https://www.microsoft.com/en-us/download/details.aspx?id=11533 (Формат команди для використання утиліти: fciv.exe шлях_до_файлу - результат буде MD5. Також можна обчислити хеш SHA1: fciv.exe -sha1 шлях_до_файлу)