Контрольная сумма (хеш-сумма) — это строка символов, полученная из содержимого файла с помощью математического алгоритма. Любое изменение в файле, даже добавление одного бита, полностью изменит хеш. Проверяя контрольную сумму, можно убедиться, что файл не поврежден при передаче и не был изменен неавторизованно.
В операционной системе Windows нет встроенной консольной утилиты, работающей точно так же, как md5sum или sha1sum в Linux, но есть два проверенных способа: через классическую утилиту certutil и через современный командлет PowerShell Get-FileHash. Выбор зависит от используемой версии Windows и предпочтений в формате вывода.
Проверка контрольной суммы через certutil в командной строке
Утилита certutil входит в состав Windows и умеет вычислять хеши с помощью алгоритмов MD5, SHA1 и SHA256. Для вычисления хеша используйте команду certutil -hashfile «Путь\к\файлу» SHA256. Вывод включает префикс «Hash of file: …», после которого следует сама строка хеша. Обязательно заключайте путь к файлу в кавычки, если в нем есть пробелы.
Проверка контрольной суммы через PowerShell
Если используемая версия Windows поддерживает PowerShell (начиная с Windows 10 и Windows Server 2016), удобнее использовать командлет Get-FileHash. Он поддерживает те же алгоритмы, что и certutil, а также дополнительные. Пример команды: Get-FileHash -Path «Путь\к\файлу» -Algorithm SHA256. Командлет возвращает объект с полями Path и Hash, что упрощает последующую обработку в скриптах.
| Инструмент | Доступность | Команда | Примечания |
|---|---|---|---|
| certutil | Встроена в все поддерживаемые версии Windows | certutil -hashfile «Путь\к\файлу» SHA256 | Вывод включает префикс «Hash of file: …» |
| PowerShell | Windows 10/11, Windows Server 2016+ | Get-FileHash -Path «Путь\к\файлу» -Algorithm SHA256 | Выводит объект с путем и хешем |
- Сравните полученный хеш с официальным значением, указанным производителем или источником загрузки.
- Убедитесь, что выбранный алгоритм (MD5, SHA1, SHA256) соответствует требуемому уровню защиты.
- При несовпадении хешей проверьте целостность файла- источника и повторно скачайте при необходимости.
Если вы проверяете целостность файлов регулярно, создайте простой батник или скрипт PowerShell, который будет хранить ожидаемые хеши и сообщать о mismatch. Всегда получайте хеши из официальных источников и используйте алгоритмы SHA256 или выше для критических файлов. При обнаружении mismatch прекратите использование файла и проверьте его источник.
