Коротко: хеш файла — это цифровой отпечаток содержимого. Если файл изменился хотя бы на один байт, SHA-256 станет другим. Поэтому хеш используют, чтобы проверить целостность скачанного установщика и убедиться, что файл совпадает с тем, что опубликовал разработчик.

Что такое хеш файла

Хеш файла — это строка, рассчитанная по содержимому файла специальным алгоритмом.

Пример SHA-256 выглядит примерно так:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Если файл не изменился, его хеш будет тем же. Если файл повреждён, заменён или изменён, хеш станет другим.

Это удобно для проверки:
  • установщиков программ;
  • архивов;
  • ISO-образов;
  • драйверов;
  • portable-сборок;
  • файлов, скачанных с официального сайта.

Зачем проверять SHA-256

Проверка хеша нужна не для красоты. Она помогает понять:
  • файл скачался полностью или повредился;
  • файл совпадает с официальной версией разработчика;
  • установщик не был подменён по пути;
  • два файла действительно одинаковые;
  • файл уже известен VirusTotal по SHA-256.
Особенно полезно проверять хеш, если вы скачиваете программу вручную, а не через Microsoft Store или winget.

SHA-256, MD5, SHA-1, CRC32: что выбрать

Для проверки установщиков и программ лучше использовать SHA-256.

Коротко по алгоритмам:
  • SHA-256 — нормальный основной вариант для проверки файлов.
  • SHA-512 — тоже надёжный, но встречается реже.
  • SHA-1 — устаревший для криптографической надёжности, но иногда ещё встречается в старых инструкциях.
  • MD5 — устаревший, годится скорее для быстрой проверки целостности, но не как серьёзная защита от подмены.
  • CRC32 — быстрая проверка ошибок передачи, но не защита от намеренной подмены.
Если разработчик публикует SHA-256 — используйте SHA-256.

Как проверить SHA-256 через PowerShell

Это самый удобный штатный способ в Windows 10/11.
  1. Скачайте файл.
  2. Откройте PowerShell.
  3. Выполните команду Get-FileHash.
  4. Сравните полученный SHA-256 с хешем на сайте разработчика.
Пример:
Get-FileHash "C:\Users\User\Downloads\setup.exe" -Algorithm SHA256
Вывод будет примерно таким:
Algorithm       Hash                                                                   Path
---------       ----                                                                   ----
SHA256          0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF       C:\Users\User\Downloads\setup.exe
Если нужна только строка хеша:
(Get-FileHash "C:\Users\User\Downloads\setup.exe" -Algorithm SHA256).Hash

Как проверить хеш через certutil

certutil тоже встроен в Windows и работает из Командной строки или PowerShell.

SHA-256:
certutil -hashfile "C:\Users\User\Downloads\setup.exe" SHA256
MD5, если разработчик почему-то дал только MD5:
certutil -hashfile "C:\Users\User\Downloads\setup.exe" MD5
SHA-1:
certutil -hashfile "C:\Users\User\Downloads\setup.exe" SHA1
Лучше всё равно ориентироваться на SHA-256, если он есть.

Как сравнить хеш правильно

Сравнение простое: полученный хеш должен полностью совпасть с официальным значением.

Проверьте:
  • длину строки;
  • все символы;
  • что сравниваете именно SHA-256 с SHA-256, а не SHA-256 с MD5;
  • что скачали файл для правильной версии: x64, x86, ARM64;
  • что не перепутали установщик, архив и portable-версию.
Регистр букв обычно не важен: ABCDEF и abcdef считаются одним и тем же хешем. Но пробелы, лишние символы и переносы строк надо убрать.

Что делать, если хеш не совпал

Если SHA-256 не совпал, файл лучше не запускать.

Сделайте так:
  1. Удалите скачанный файл.
  2. Скачайте файл заново с официального сайта.
  3. Проверьте, не скачали ли другую архитектуру или версию.
  4. Снова посчитайте SHA-256.
  5. Если хеш всё равно не совпадает — не запускайте файл и проверьте информацию на сайте разработчика.
Несовпадение не всегда означает вирус. Иногда разработчик обновил файл, но забыл обновить хеш на странице. Но для пользователя правило простое: не совпало — не запускать, пока не разобрались.

Проверка хеша через VirusTotal

Если у вас есть SHA-256, его можно вставить в поиск VirusTotal.

Это удобно, потому что не нужно загружать файл повторно. Если такой файл уже проверяли, VirusTotal покажет готовый отчёт.

Инструкция: VirusTotal — как проверить файл и URL.

Но важно: VirusTotal не заменяет официальную контрольную сумму. Лучше проверять всё вместе:
  • официальный источник;
  • SHA-256 от разработчика;
  • цифровую подпись файла;
  • отчёт VirusTotal;
  • здравый смысл.

Проверка цифровой подписи

Хеш показывает, что файл совпадает с конкретным содержимым. Цифровая подпись показывает, кем файл подписан.

Проверить подпись можно так:
  1. Нажмите правой кнопкой по файлу.
  2. Откройте “Свойства”.
  3. Перейдите на вкладку “Цифровые подписи”, если она есть.
  4. Посмотрите имя издателя.
Если подписи нет, это не всегда вирус. Но для популярных программ отсутствие подписи — повод внимательнее проверить источник.

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

Допустим, вы скачали установщик программы с официального сайта.

Правильный порядок:
  1. Убедиться, что сайт действительно официальный.
  2. Скачать файл.
  3. Найти SHA-256 на сайте разработчика, если он опубликован.
  4. Посчитать SHA-256 через PowerShell.
  5. Сравнить значения.
  6. Проверить цифровую подпись.
  7. При сомнениях проверить SHA-256 или файл через VirusTotal.
  8. Только после этого запускать установщик.
Это кажется длинным, но на практике занимает пару минут.

Когда хеш не поможет

Хеш полезен, но не решает всё.

Он не поможет, если:
  • вы сравниваете файл с хешем с того же сомнительного сайта;
  • официальный сайт уже взломан и там заменили и файл, и хеш;
  • вы скачали репак, активатор или леченую сборку;
  • вы не проверили, какой именно алгоритм указан;
  • вы запускаете файл, несмотря на явные предупреждения SmartScreen или антивируса.
Поэтому хеш — это часть проверки, а не единственный критерий.

Частые ошибки

Сравнивают разные алгоритмы

Например, на сайте указан SHA-256, а пользователь посчитал MD5. Такие значения никогда не совпадут.

Скачивают другую версию файла

Хеш для x64-установщика не совпадёт с x86 или ARM64. Это нормально.

Копируют хеш с пробелами

Некоторые сайты показывают хеш с пробелами или переносами строк. Перед сравнением уберите лишнее.

Скачивают файл с зеркала

Если файл с официального сайта и файл с зеркала отличаются, запускать зеркальный файл не стоит.

FAQ

Что лучше использовать: SHA-256 или MD5?

SHA-256. MD5 устарел и не подходит как надёжная защита от подмены.

Если SHA-256 совпал, файл точно безопасен?

Он совпадает с тем файлом, для которого опубликован этот хеш. Но безопасность зависит ещё от источника, подписи и репутации файла.

Можно ли проверить хеш без интернета?

Да. PowerShell Get-FileHash и certutil работают локально. Интернет нужен только для сверки с официальным источником или VirusTotal.

Файл большой. PowerShell справится?

Да, но расчёт может занять время. Для больших ISO и архивов это нормально.

См. также


Вывод: для проверки скачанного установщика используйте SHA-256 через PowerShell или certutil, сравнивайте результат с официальным хешем разработчика и не запускайте файл, если значение не совпало.