SHA-256 файла в Windows помогает понять, совпадает ли загрузка с оригиналом разработчика. Имя установщика можно изменить за секунду, а значок — подделать. Хеш реагирует даже на крошечное изменение содержимого. Проверка занимает меньше минуты и особенно полезна для ISO-образов, прошивок, архивов и системных утилит.
Найдите эталон раньше команды
Откройте официальный сайт проекта и найдите рядом с загрузкой строку SHA-256, Checksums или Hashes. Она выглядит как последовательность из 64 шестнадцатеричных символов. Сохраните ссылку на страницу. Если хеш прислал неизвестный человек вместе с файлом, сравнение ничего не доказывает: злоумышленник способен заменить оба значения.
Хороший пример — страница релиза программы, где разработчик публикует установщики и отдельный файл контрольных сумм. Проверяйте домен, соединение HTTPS и название версии. Хеш от прошлой сборки закономерно не совпадёт с новой, даже если программы называются одинаково.
Важно: совпавший SHA-256 подтверждает целостность относительно выбранного эталона, но не обещает, что сама программа безопасна. Доверие начинается с источника контрольной суммы.
Посчитайте хеш встроенной командой
Откройте папку «Загрузки» в Проводнике. Щёлкните по пустому месту правой кнопкой с Shift и выберите открытие терминала, либо запустите PowerShell через поиск. Введите команду, подставив реальное имя файла.
Get-FileHash -LiteralPath ".\program-setup.exe" -Algorithm SHA256 PowerShell выведет алгоритм, хеш и путь. Параметр `LiteralPath` полезен для имён с квадратными скобками и другими символами, которые иначе могут трактоваться как шаблон. Кавычки защищают путь с пробелами. Сам файл команда не запускает и не изменяет.
Если файл лежит в другой папке, проще перетащить его из Проводника прямо в окно PowerShell после `-LiteralPath `. Полный путь появится автоматически. Добавьте `-Algorithm SHA256` и нажмите Enter.
Сравните без игры в «найди десять отличий»
Не ограничивайтесь первыми и последними четырьмя символами. У случайной ошибки шанс попасть именно в просмотренные места невелик, а намеренная подмена может рассчитывать на невнимательность. Скопируйте эталон и результат в Блокнот, уберите пробелы и переносы, затем сравните строки целиком.
PowerShell умеет сделать это сам. Вставьте опубликованный разработчиком хеш вместо примера. Результат `True` означает полное совпадение, `False` — различие хотя бы одного символа.
$expected = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
$actual = (Get-FileHash -LiteralPath ".\program-setup.exe" -Algorithm SHA256).Hash
$actual -eq $expected Регистр букв не мешает оператору `-eq` в обычном PowerShell, но пробел или невидимый перенос уже может испортить сравнение. Лучше брать значение из блока, предназначенного для копирования, а не из красиво свёрстанного абзаца.
Что делать при несовпадении
Не запускайте файл «на пробу». Удалите его, очистите незавершённые загрузки браузера и скачайте заново с официальной страницы. Проверьте, что выбраны та же версия, архитектура и редакция. Например, ISO для ARM64 и x64 обязаны иметь разные контрольные суммы.
Повторное несовпадение требует паузы. Возможно, разработчик обновил файл, но забыл заменить хеш. Возможно, загрузку отдаёт устаревшее зеркало. Напишите автору проекта или дождитесь исправления. Отключение антивируса и запуск от администратора контрольную сумму не «починят».
Хеш не равен цифровой подписи
Контрольная сумма отвечает на вопрос «файл изменился?». Цифровая подпись дополнительно связывает файл с издателем и позволяет проверить целостность через доверенную цепочку сертификатов. В свойствах EXE или MSI откройте вкладку «Цифровые подписи», выберите подпись и посмотрите её состояние.
Лучший бытовой сценарий использует оба сигнала. Сначала загрузка с официального сайта, затем совпавший SHA-256, после этого действующая подпись ожидаемого издателя. Если программу всё же хочется посмотреть отдельно, пригодится инструкция про Песочницу Windows 11. Для драйверов действует отдельная осторожная схема из нашей статьи про безопасное обновление драйверов.
MD5 и SHA-1 оставьте совместимости
Команда Get-FileHash поддерживает несколько алгоритмов. Microsoft указывает SHA-256 как значение по умолчанию и предупреждает, что MD5 и SHA-1 больше не считаются безопасными против намеренных атак. Старые хеши ещё встречаются для обнаружения случайно повреждённой загрузки, но при выборе ориентируйтесь на SHA-256 или более сильный алгоритм, опубликованный автором.
Не пересчитывайте один алгоритм в другой: такого преобразования не существует. Если сайт даёт только MD5, вы можете сверить MD5 для диагностики передачи, однако это не превращает старую сумму в современное подтверждение подлинности.
Частые вопросы
Почему два одинаково названных файла имеют разные хеши?
Имя не участвует в расчёте. Содержимое, версия, цифровая подпись или даже один изменённый байт дают другой результат.
Можно проверить сразу несколько файлов?
Да. Команда `Get-FileHash .\Downloads\* -Algorithm SHA256` обработает файлы по шаблону, но сравнивать каждый результат всё равно нужно с его эталоном.
SHA-256 покажет, что внутри вирус?
Нет. Он обнаруживает отличие от известного файла. Вредоносный оригинал тоже имеет стабильный хеш.
Где описана команда Get-FileHash?
Синтаксис, алгоритмы и примеры находятся в официальной документации PowerShell.
Последняя проверка перед двойным щелчком
Убедитесь, что хеш взят с официальной страницы именно вашей версии. Сравните все 64 символа. Затем проверьте цифровую подпись и просканируйте файл Защитником Windows. Эта короткая цепочка не делает риск нулевым, зато отсеивает повреждённые загрузки и многие примитивные подмены ещё до запуска.
Комментарии 0