Эта статья рассказывает, как узнать значение хеш суммы файла в Windows 10 и как это значение использовать.

Хеш сумма для файла определяется как результат выполнения хеш-функции (например, MD5 или SHA1) над содержимым файла и используется в качестве контрольной суммы, то есть для контроля целостности файла при его передаче и хранении.

Встроенные в Windows способы определения хеш суммы файла

Вычислить хэш сумму файла в Windows можно без установки дополнительных программ.

Программа certutil

Встроенная утилита CertUtil, имеет возможность вычисления хэш-суммы заданного файла, если запустить её с параметром -hashfile:

CertUtil [Options] -hashfile InFile [HashAlgorithm]

Пример вычисления MD5 hash для файла putty-0.65-installer.exe:

C:\>certutil -hashfile putty-0.65-installer.exe MD5
MD5 хеш файла putty-0.65-installer.exe:
a84d239584cca5c36dcd4faf49f9a877
CertUtil: -hashfile - команда успешно выполнена.

Шестнадцатеричное значение во второй строке (a84d239584cca5c36dcd4faf49f9a877) и есть хэш-сумма по алгоритму MD5.

Другие поддерживаемые значения HashAlgorithm:

MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

PowerShell

В PowerShell имеется команда Get-FileHash, предназначенная для получения хэш-суммы файла.

Команда для вывода хэш-значения по алгоритму MD5, непосредственно в среде PowerShell:

Get-FileHash putty-0.65-installer.exe -Algorithm MD5

Команда для вызова этой же функции из командной строки Windows:

powershell.exe -command Get-FileHash putty-0.65-installer.exe -Algorithm MD5

bat файлы для получения хэш-суммы

Для более удобного вывода информации можно сделать bat файлы, которые будут запускать те же certutil или powershell, но печатать только само значение хэш-суммы.

Командный файл certutil-md5.bat для запуска программы certutil.exe для указанного файла и алгоритма MD5:

@echo off
for /f "skip=1 usebackq tokens=1,2" %%a in (`certutil -hashfile %1 MD5`) do if "%%b"=="" echo %%a 

Командный файл powershell-md5.bat для подсчета хэш-суммы через powershell.exe:

@echo off
for /f "skip=3 usebackq tokens=1,2" %%a in (`powershell.exe Get-FileHash %1 -Algorithm MD5`) do  if "%%a"=="MD5" echo %%b

Эти командные файлы имеют один параметр – имя файла для анализа:

certutil-md5.bat putty-0.65-installer.exe
powershell-md5.bat putty-0.65-installer.exe

Как использовать хэш-сумму файла

Проверка подлинности файла

Сравнивая вычисленное значение хеш-суммы с заранее известным правильным значением, можно узнать, оригинальный ли это файл.

Например, на страницах загрузки программ часто указывают значение хэш-суммы её файла. Если после скачивания какой-то программы вычисленное в certutil.exe значение хэш-суммы совпадает с правильным, то это оригинальный файл.

Сравнение файлов

Хэш-сумму можно использовать для сравнения файлов – одинаковые файлы будут иметь одинаковое значение хеш-суммы.

Если вопрос состоит в сравнение локальных файлов на одном компьютере, то можно использовать и встроенную команду FC.

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

Проверка на вирусы

Хэш-значение можно использовать на сайте VirusTotal для проверки файла без закачивания самого файла на сайт, если выбрать SEARCH и вставить хэш-значение – сайт покажет результаты тестирования по хэш-сумме (если кто-то протестировал этот файл ранее):

Совместимость

Программа CertUtil.exe включена в Windows, начиная с Windows Vista.

Файлы для скачивания

Командные файлы, описанные в статье, доступны для скачивания с Яндес.Диска:

Узнать больше

Справка по утилите certutil.exe на сайте Майкрософт

Альтернативное решение – бесплатная программа MD5SUMS.

Статьи на Википедии: Хеш-сумма, md5sum.

Проверка хеш суммы файла в Windows

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *