Как проверить контрольную сумму файла

Что показывает контрольная сумма

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

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

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

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

Выберите алгоритм и подготовьте эталон

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

MD5 даёт 32 символа, SHA-1 — 40. Оба алгоритма больше не подходят для криптографического доказательства подлинности, поскольку для них известны практические атаки на коллизии. Однако старые проекты продолжают публиковать MD5 или SHA-1. Такое значение можно использовать для обнаружения случайно испорченной загрузки, но не как достаточную защиту от намеренной подмены. Если доступны несколько вариантов, выбирайте SHA-256 или более стойкий алгоритм.

Скопируйте эталон в простой текстовый файл вместе с названием алгоритма, версией продукта и адресом страницы. Убедитесь, что это сумма самого файла, а не текстового списка, архива с похожим именем или распакованного содержимого. Например, program.zip и папка после распаковки — разные объекты. Обычная команда хеширования не рассчитывает единую сумму каталога без предварительно определённого порядка файлов и правил обработки.

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

Сравнение не зависит от регистра букв: A и a в шестнадцатеричной записи означают одно число. Пробелы между группами символов и перенос строки также можно убрать. Но нельзя пропускать отдельные знаки или сравнивать только начало: вся строка должна совпасть.

Вычислите хеш в Windows 10 и 11

Самый удобный встроенный способ — PowerShell. Откройте папку с файлом в Проводнике, щёлкните по свободному месту правой кнопкой мыши и запустите Терминал, либо откройте PowerShell через поиск. Выполните команду Get-FileHash -Algorithm SHA256 -Path "C:\Users\User\Downloads\image.iso". В таблице появятся алгоритм, полная строка хеша и путь.

Если файл находится в текущей папке, достаточно Get-FileHash -Algorithm SHA256 ".\image.iso". Кавычки обязательны, когда в пути есть пробелы. Для старого эталона MD5 замените имя алгоритма: Get-FileHash -Algorithm MD5 ".\archive.zip". Не меняйте расширение и не открывайте файл для пересохранения перед проверкой.

Есть и классическая встроенная утилита: certutil -hashfile "C:\Users\User\Downloads\image.iso" SHA256. Она выводит рассчитанную строку и сообщение о завершении. Для MD5 последний аргумент меняют на MD5. Запуска прав от имени администратора не требуется, если у текущей учётной записи есть разрешение читать файл.

Чтобы избежать ошибки при ручном сравнении, PowerShell может проверить строку автоматически. Команда $actual = (Get-FileHash -Algorithm SHA256 ".\image.iso").Hash сохраняет локальный результат. Затем выражение $actual -eq "ЭТАЛОННАЯ_СТРОКА" вернёт True при совпадении и False при различии. Вставляйте эталон между кавычками без пояснений и названия алгоритма.

Для установщика с цифровой подписью дополнительно откройте «Свойства» → «Цифровые подписи» и проверьте имя подписавшего и состояние подписи. В PowerShell доступна команда Get-AuthenticodeSignature ".\setup.exe". Действительная подпись не заменяет проверку репутации программы, а отсутствие подписи не означает автоматически вирус, но эти сведения полезно оценивать вместе.

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

Проверьте файл в Linux и macOS

В Linux перейдите в каталог командой cd и выполните sha256sum "image.iso". Слева появится SHA-256, справа — имя файла. Для опубликованного MD5 существует md5sum "archive.zip", но ограничения MD5 остаются теми же. Большинство распространённых дистрибутивов включает эти утилиты по умолчанию.

Если издатель предоставил файл списка в стандартном формате, например SHA256SUMS, поместите его рядом с загрузками и выполните sha256sum -c SHA256SUMS. Утилита проверит указанные элементы и покажет OK либо сообщение об ошибке. Сначала просмотрите список как текст: он может ссылаться на отсутствующие или ненужные файлы. Для проверки одного объекта можно создать собственную строку эталон имя_файла, сохранив два пробела между хешем и именем.

В macOS встроена команда shasum -a 256 "image.iso". Для SHA-512 используется shasum -a 512. Старый эталон MD5 можно проверить командой md5 "archive.zip". Перетащите файл из Finder в окно Терминала после команды — система подставит путь и корректно обработает пробелы. Перед нажатием Enter убедитесь, что путь относится к нужной копии.

Результат, рассчитанный на одной системе, должен совпасть с результатом на другой: алгоритм обрабатывает байты файла, а не особенности Windows, Linux или macOS. Различие обычно означает, что сравниваются разные версии, загрузка повреждена, файл изменён программой или выбран другой алгоритм.

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

Разберите несовпадение и особые случаи

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

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

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

Резервный файл TIB или другой фирменный формат стоит проверять двумя способами. Хеш покажет, сохранилась ли точная копия известного файла, а встроенная функция проверки резервной копии анализирует структуру, блоки и возможность чтения формата. Одно не заменяет другое. Проверку восстановления лучше дополнять тестовым чтением или восстановлением отдельных файлов, не затрагивая рабочие данные.

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

FAQ

Где находится контрольная сумма внутри файла?

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

Можно ли проверить файл, если автор не опубликовал хеш?

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

Почему одинаковые документы имеют разные суммы?

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

Какой алгоритм выбрать: MD5 или SHA-256?

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

Понравилась статья? Поделиться с друзьями:
Pchelp24.com