Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → Контрольная сумма файла: как проверить SHA-256 в Windows

Контрольная сумма файла: проверка целостности через certutil и PowerShell

Как проверить контрольную сумму файла в Windows: команда certutil с алгоритмами SHA-256 и SHA-512, вычисление хеша в PowerShell, правильное сравнение с эталоном, зачем это нужно для установщиков и резервных копий, почему MD5 и SHA-1 устарели и что делать при несовпадении.

Контрольная сумма файла: проверка целостности через certutil и PowerShell

Файл скачался полностью или оборвался на середине? Копия на внешнем диске совпадает с оригиналом? Не подменили ли установщик на зеркале? Ответ на все три вопроса даёт контрольная сумма — короткая строка, вычисленная по содержимому файла. В Windows её можно получить встроенными средствами, без установки дополнительных программ и без доступа к сомнительным онлайн-сервисам. Разберём, как это делается и как не ошибиться при сравнении.

Что такое хеш и контрольная сумма

Хеш — это результат математической обработки содержимого файла. Любое изменение, даже один бит, даёт совершенно другую строку. Сравнив хеши двух файлов, можно с очень высокой вероятностью утверждать, что они идентичны. Контрольная сумма — бытовое название того же значения, которое публикуют рядом с дистрибутивами и архивами, чтобы пользователь мог проверить целостность загрузки.

Какие алгоритмы использовать

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

Проверка через certutil

Откройте командную строку или терминал Windows. Введите команду с ключом hashfile, путём к файлу в кавычках и названием алгоритма. Через несколько секунд программа выведет строку из 64 символов, разбитую на группы для удобства чтения. Это и есть хеш. Команда работает без прав администратора и не изменяет файл.

Синтаксис команды

Команда строится так: certutil, затем ключ -hashfile, затем путь в кавычках и алгоритм. Если в пути есть пробелы, кавычки обязательны, иначе система воспримет часть пути как отдельный аргумент. Алгоритм указывается как SHA256, SHA512 или SHA1 — регистр обычно не важен, но лучше придерживаться заглавных букв, как в документации. В PowerShell перед именем утилиты иногда добавляют точку и обратную косую черту.

Проверка через PowerShell

В PowerShell есть отдельная команда для вычисления хеша, которая возвращает не текст, а объект с полями «алгоритм», «путь» и «значение». Это удобно, когда нужно обработать сразу несколько файлов или сохранить результат в таблицу. Можно вывести только значение хеша, чтобы скопировать его в отчёт или сравнить со списком. Команда также подходит для файлов на сетевом диске.

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

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

Откуда брать эталон

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

Зачем это нужно на практике

Проверка скачанных установщиков после обрыва соединения. Контроль копий при переносе больших архивов на внешний диск. Сверка резервной копии с исходными данными. Проверка файлов, полученных от коллег по работе. Во всех случаях вы получаете объективное подтверждение, что файл не повреждён при передаче или хранении.

Проверка копии на диске

После копирования большого объёма полезно сверить несколько крупных файлов, а не весь набор: если хеши совпадают на выборке, копия почти наверняка целая. Это быстрее, чем открывать каждый файл вручную. Для архивов с фотографиями имеет смысл проверять самые крупные файлы и те, что созданы недавно.

Что делать при несовпадении

Скачайте файл заново, желательно с другого зеркала или по другой сети. Проверьте, не скачался ли он частично и совпадает ли размер с указанным на сайте. Убедитесь, что эталон относится к той же версии и той же сборке. При повторном несовпадении не запускайте файл и не устанавливайте его.

Ограничения метода

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

Цифровая подпись как дополнение

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

Работа с большими файлами

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

Автоматизация проверки

Команду можно поместить в пакетный файл и запускать по расписанию. Результаты сохраняйте в журнал с датой и именем файла. Для набора файлов удобнее скрипт, который считает хеши и сравнивает их со списком заранее известных значений — так проще проверять резервные копии после каждого прогона.

Что запомнить

  • SHA-256 — практический стандарт проверки целостности.
  • certutil и PowerShell дают одинаковый результат.
  • Эталон берётся только с официального источника.
  • Хеш подтверждает целостность, но не безопасность.
  • При несовпадении файл скачивают заново и не запускают.

FAQ

Нужны ли специальные программы?

Нет, достаточно встроенных средств Windows: командной строки или PowerShell.

Можно ли проверить папку целиком?

Прямой команды нет: хеши считаются по файлам, папку обрабатывают скриптом.

Почему хеши двух одинаковых файлов различаются?

Файлы отличаются содержимым, либо один из них повреждён при загрузке.

Подходит ли MD5?

Для бытовой проверки целостности — с оговорками, для безопасности лучше SHA-256.

Связанные материалы