Как узнать хэш (контрольную сумму) файла в Windows PowerShell

Как получить хэш файла в Windows Хэш или контрольная сумма файла — короткое уникальное значение, вычисляемое из содержимого файла и обычно использующееся для проверки целостности и соответствия (совпадения) файлов при загрузке, особенно если речь идет о больших файлах (образы системы и подобные), которые могут быть скачены с ошибками или есть подозрения о том, что файл был подменен вредоносным ПО.

На сайтах загрузок часто бывает представлена контрольная сумма, вычисленная по алгоритмам 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:VMWin10_1607_Russian_x64.iso| Format-List

Вычисление контрольной суммы sha256

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

Get-FileHash C:VMWin10_1607_Russian_x64.iso -Algorithm MD5 | Format-List

Контрольная сумма MD5

При этом поддерживаются следующие значение для алгоритмов вычисления контрольной суммы в Windows PowerShell

  • SHA256 (по умолчанию)
  • MD5
  • SHA1
  • SHA384
  • SHA512
  • MACTripleDES
  • RIPEMD160

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

Получение хэша файла в командной строке с помощью CertUtil

Получение хэша файла в CertUtil

В Windows присутствует встроенная утилита CertUtil для работы с сертификатами, которая, помимо прочего, умеет высчитывать контрольную сумму файлов по алгоритмам:

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

Для использования утилиты достаточно запустить командную строку Windows 10, 8 или Windows 7 и ввести команду в формате:

certutil -hashfile путь_к_файлу алгоритм

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

Получение контрольной суммы MD5 в CertUtil

Дополнительно: на случай, если вам требуются сторонние программы для вычисления хэшей файлов в 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 путь_к_файлу )

EnglishRussianUkrainian