Коротко: хеш файла — это цифровой отпечаток содержимого. Если файл изменился хотя бы на один байт, SHA-256 станет другим. Поэтому хеш используют, чтобы проверить целостность скачанного установщика и убедиться, что файл совпадает с тем, что опубликовал разработчик.
Что такое хеш файла
Хеш файла — это строка, рассчитанная по содержимому файла специальным алгоритмом.Пример SHA-256 выглядит примерно так:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855Если файл не изменился, его хеш будет тем же. Если файл повреждён, заменён или изменён, хеш станет другим.Это удобно для проверки:
- установщиков программ;
- архивов;
- ISO-образов;
- драйверов;
- portable-сборок;
- файлов, скачанных с официального сайта.
Зачем проверять SHA-256
Проверка хеша нужна не для красоты. Она помогает понять:- файл скачался полностью или повредился;
- файл совпадает с официальной версией разработчика;
- установщик не был подменён по пути;
- два файла действительно одинаковые;
- файл уже известен VirusTotal по SHA-256.
SHA-256, MD5, SHA-1, CRC32: что выбрать
Для проверки установщиков и программ лучше использовать SHA-256.Коротко по алгоритмам:
- SHA-256 — нормальный основной вариант для проверки файлов.
- SHA-512 — тоже надёжный, но встречается реже.
- SHA-1 — устаревший для криптографической надёжности, но иногда ещё встречается в старых инструкциях.
- MD5 — устаревший, годится скорее для быстрой проверки целостности, но не как серьёзная защита от подмены.
- CRC32 — быстрая проверка ошибок передачи, но не защита от намеренной подмены.
Как проверить SHA-256 через PowerShell
Это самый удобный штатный способ в Windows 10/11.- Скачайте файл.
- Откройте PowerShell.
- Выполните команду Get-FileHash.
- Сравните полученный 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" SHA256MD5, если разработчик почему-то дал только MD5:certutil -hashfile "C:\Users\User\Downloads\setup.exe" MD5SHA-1:certutil -hashfile "C:\Users\User\Downloads\setup.exe" SHA1Лучше всё равно ориентироваться на SHA-256, если он есть.Как сравнить хеш правильно
Сравнение простое: полученный хеш должен полностью совпасть с официальным значением.Проверьте:
- длину строки;
- все символы;
- что сравниваете именно SHA-256 с SHA-256, а не SHA-256 с MD5;
- что скачали файл для правильной версии: x64, x86, ARM64;
- что не перепутали установщик, архив и portable-версию.
Что делать, если хеш не совпал
Если SHA-256 не совпал, файл лучше не запускать.Сделайте так:
- Удалите скачанный файл.
- Скачайте файл заново с официального сайта.
- Проверьте, не скачали ли другую архитектуру или версию.
- Снова посчитайте SHA-256.
- Если хеш всё равно не совпадает — не запускайте файл и проверьте информацию на сайте разработчика.
Проверка хеша через VirusTotal
Если у вас есть SHA-256, его можно вставить в поиск VirusTotal.Это удобно, потому что не нужно загружать файл повторно. Если такой файл уже проверяли, VirusTotal покажет готовый отчёт.
Инструкция: VirusTotal — как проверить файл и URL.
Но важно: VirusTotal не заменяет официальную контрольную сумму. Лучше проверять всё вместе:
- официальный источник;
- SHA-256 от разработчика;
- цифровую подпись файла;
- отчёт VirusTotal;
- здравый смысл.
Проверка цифровой подписи
Хеш показывает, что файл совпадает с конкретным содержимым. Цифровая подпись показывает, кем файл подписан.Проверить подпись можно так:
- Нажмите правой кнопкой по файлу.
- Откройте “Свойства”.
- Перейдите на вкладку “Цифровые подписи”, если она есть.
- Посмотрите имя издателя.
Пример нормальной проверки установщика
Допустим, вы скачали установщик программы с официального сайта.Правильный порядок:
- Убедиться, что сайт действительно официальный.
- Скачать файл.
- Найти SHA-256 на сайте разработчика, если он опубликован.
- Посчитать SHA-256 через PowerShell.
- Сравнить значения.
- Проверить цифровую подпись.
- При сомнениях проверить SHA-256 или файл через VirusTotal.
- Только после этого запускать установщик.
Когда хеш не поможет
Хеш полезен, но не решает всё.Он не поможет, если:
- вы сравниваете файл с хешем с того же сомнительного сайта;
- официальный сайт уже взломан и там заменили и файл, и хеш;
- вы скачали репак, активатор или леченую сборку;
- вы не проверили, какой именно алгоритм указан;
- вы запускаете файл, несмотря на явные предупреждения SmartScreen или антивируса.
Частые ошибки
Сравнивают разные алгоритмы
Например, на сайте указан SHA-256, а пользователь посчитал MD5. Такие значения никогда не совпадут.Скачивают другую версию файла
Хеш для x64-установщика не совпадёт с x86 или ARM64. Это нормально.Копируют хеш с пробелами
Некоторые сайты показывают хеш с пробелами или переносами строк. Перед сравнением уберите лишнее.Скачивают файл с зеркала
Если файл с официального сайта и файл с зеркала отличаются, запускать зеркальный файл не стоит.FAQ
Что лучше использовать: SHA-256 или MD5?
SHA-256. MD5 устарел и не подходит как надёжная защита от подмены.Если SHA-256 совпал, файл точно безопасен?
Он совпадает с тем файлом, для которого опубликован этот хеш. Но безопасность зависит ещё от источника, подписи и репутации файла.Можно ли проверить хеш без интернета?
Да. PowerShell Get-FileHash и certutil работают локально. Интернет нужен только для сверки с официальным источником или VirusTotal.Файл большой. PowerShell справится?
Да, но расчёт может занять время. Для больших ISO и архивов это нормально.См. также
- VirusTotal — как проверить файл и URL
- Как установить программы на Windows
- Microsoft Visual C++ Redistributable 2015–2022
- .NET Desktop Runtime 8
- FAQ по сайту
- Запросить программу или сообщить об ошибке
Вывод: для проверки скачанного установщика используйте SHA-256 через PowerShell или certutil, сравнивайте результат с официальным хешем разработчика и не запускайте файл, если значение не совпало.