Все статьи
Криптография и безопасность

Контрольная сумма файла: проверка на Windows и Mac

Что такое контрольная сумма файла и как её проверить: certutil на Windows, md5 и shasum на Mac, онлайн-генераторы хешей и сверка с суммой разработчика.

14 сентября 2026
7 мин чтения
ConvertHub
Обновлено 07.09.2026
#контрольная сумма#хеш#безопасность

Посчитайте прямо здесь: Text → MD5 Hash

Открыть инструмент целиком →

Что такое контрольная сумма файла

Контрольная сумма (она же хеш) — это короткий «отпечаток» файла: строка из латинских букв и цифр фиксированной длины, которая вычисляется из содержимого файла особым алгоритмом. У двух одинаковых копий отпечаток всегда одинаковый, а если в файле изменился хотя бы один байт — сумма меняется до неузнаваемости. Проверить контрольную сумму скачанного файла значит посчитать такой отпечаток у себя и сверить с тем, что опубликовал разработчик. Совпало — файл доехал до вас целым и его никто не подменил по дороге. Не совпало — где-то по пути файл повредился или это уже не тот файл.

Эталонную сумму публикуют рядом с кнопкой загрузки: на странице релиза, в тексте рядом со ссылкой или отдельным файлом с расширением .md5 либо .sha256. Отсюда и план всей проверки: узнать, какой алгоритм указал разработчик, посчитать хеш у себя и сравнить две строки. Дальше — как это работает и три способа посчитать: на Windows, на Mac и Linux и в браузере.

Как это работает простыми словами

Хеш-функция читает файл как длинную последовательность байтов и перемешивает их по строгим правилам, выдавая в итоге строку заданной длины. Два свойства делают её удобной для проверки файлов. Первое: одинаковый вход всегда даёт одинаковый результат — на любом компьютере, в любой стране, хоть десять раз подряд. Второе: крошечное изменение входа полностью меняет результат. Вот реальная пара, я считал её прямо при подготовке статьи. Текстовый файл с фразой «отчёт за квартал»:

MD5:    719a8440dd21296af7cbcd47e174b45c
SHA-256: f6e5b53257d9471ba74fad1c610c58ab6fa22422d5b554916efc5aad0d58f113

Добавили в конец одну точку — один-единственный байт — и суммы стали другими целиком:

MD5:    caf666caf96b365180deb9dca0875a00
SHA-256: 12f88112cd01371e0f3ca54fc953e691237222c915afe9ecb822a9952ee37cad

Именно поэтому хеш ловит даже незаметные глазу повреждения: недокачанный хвост архива или один бит, испорченный на диске, гарантированно изменят сумму. Что именно покажет сверка в каждой житейской ситуации:

СитуацияЧто покажет проверка хеша
Интернет оборвался на середине загрузкиНедокачанный файл даст другой хеш — битая загрузка видна сразу, ещё до запуска файла
Архив распаковывается с ошибкойПовреждение при скачивании или хранении изменит сумму — сразу ясно, что дело в файле, а не в архиваторе
Установщик скачан с левого зеркала и содержит вирусПодменённый файл не совпадёт с суммой разработчика — при условии, что эталон взят с официального сайта, а не там же, где и файл
Непонятно, та ли это версия программыУ версий 2.4 и 2.4.1 суммы разные — сверка различит их точнее, чем имя файла

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

Главного правила достаточно: сверяйте тем алгоритмом, каким считал разработчик. Если на сайте опубликован MD5 — считайте MD5, если SHA-256 — SHA-256. Суммы разных алгоритмов друг с другом несравнимы: это просто разные строки. Если выбор за вами, картина такая:

АлгоритмДлина хешаСостояниеКогда использовать
MD532 символаДля безопасности устарел: коллизии умеют подделывать с 2004 года. Для проверки целостности по-прежнему пригоденКогда разработчик публикует только MD5; быстрая проверка «доехал ли файл»
SHA-25664 символаДействующий стандартВыбор по умолчанию: дистрибутивы, обновления, документы, всё, где есть риск злонамеренной подмены
SHA-512128 символовДействующий стандартТо же, что SHA-256, с более длинным запасом прочности; нужен, когда эталон опубликован именно в SHA-512

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

Способ 1. Windows: командная строка

Самая частая задача — проверить MD5-сумму скачанного файла — на Windows решается одной встроенной командой. Утилита называется certutil, ничего скачивать и устанавливать не нужно.

  1. Откройте командную строку: нажмите Win+R, введите cmd и Enter. В Windows 11 проще кликнуть правой кнопкой по «Пуск» и выбрать «Терминал».
  2. Наберите команду в формате certutil -hashfile путь_к_файлу алгоритм. Например:
certutil -hashfile C:\Users\you\Downloads\programma-setup.exe MD5
  1. Через секунду-две увидите результат. Посередине — та самая контрольная сумма:
Хэш MD5 C:\Users\you\Downloads\programma-setup.exe:
3a8b8eb48f87d7b1d916b7e30d5e4c37
CertUtil: -hashfile — команда успешно выполнена.

На английской Windows последняя строка будет «command completed successfully» — на сверку это не влияет, нужна только строка с хешем. Для SHA-256 та же команда с другим алгоритмом в конце:

certutil -hashfile C:\Users\you\Downloads\ubuntu-24.04.1-desktop-amd64.iso SHA256

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

Способ 2. Mac и Linux: md5 и shasum

На macOS откройте «Терминал» (папка «Программы → Утилиты») и наберите:

md5 ~/Downloads/programma.dmg

Ответ выглядит так:

MD5 (~/Downloads/programma.dmg) = 3a8b8eb48f87d7b1d916b7e30d5e4c37

Для SHA-256 на Mac команда другая: shasum -a 256 имя_файла. В Linux утилиты называются чуть иначе — md5sum и sha256sum (хотя shasum там тоже обычно есть), и хеш печатается в начале строки, а имя файла — после него:

shasum -a 256 ubuntu-24.04.1-desktop-amd64.iso
f6e5b53257d9471ba74fad1c610c58ab6fa22422d5b554916efc5aad0d58f113  ubuntu-24.04.1-desktop-amd64.iso

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

Способ 3. Онлайн-генераторы хешей

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

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

СпособКогда выбирать
certutil (Windows)Скачанные файлы любого размера на своём компьютере; не требует интернета и установок
md5 / shasum (Mac, Linux)То же на macOS и Linux; плюс удобно в скриптах и для пакетной проверки
Онлайн-генераторСтроки и тексты, когда терминала под рукой нет; всё считается в браузере, данные не покидают устройство

Как сверить суммы: совпало и не совпало

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

РезультатЧто он значитЧто делать
СовпалиФайл доехал целым и совпадает с тем, что опубликовал разработчикНичего. Можно устанавливать
Не совпалиЛибо загрузка побилась по дороге, либо файл — не тот, что публиковалиУдалить файл и скачать заново, лучше с официального сайта. Затем посчитать хеш ещё раз
Снова не совпалиДважды битая загрузка — редкость. Похоже, сумма считалась не для этого файла или файл подменёнНе запускать файл. Сверить версию, сборку и алгоритм с эталоном; если и тут всё сходится, а хеш нет — искать другой источник и сообщить разработчику

Типовые ошибки при сравнении

ОшибкаРешение
Разный регистр букв: у вас 3A8B…, у разработчика 3a8b…, «не совпадает»В шестнадцатеричной записи регистр не имеет значения: A и a — одна и та же цифра. Приведите обе суммы к одному виду, например строчными, и сравните снова
Лишний пробел или перенос строки при копированииКопируйте хеш целиком одним куском без пробелов по краям: невидимый символ на конце ломает сравнение, особенно если скармливать строки программе
Сравниваете MD5 с SHA-25632 символа против 64 — это суммы разных алгоритмов, они не могут совпадать в принципе. Пересчитайте тем алгоритмом, которым публиковал разработчик
Сумма указана для другой версии файлаХеш у каждого файла свой: эталон для версии 2.4 никогда не совпадёт с файлом версии 2.5. Проверьте, что эталон — именно для вашей сборки и разрядности

И ещё одна, на мой взгляд, самая коварная: сравнение «на глаз» по первым символам. Совпадение первых восьми знаков ничего не гарантирует — сверяйте всю строку до конца, этим и хорош приём со сравнением с хвоста.

Частые вопросы

Суммы не совпадают. Файл точно заражён?

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

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

Нет. Хеш — функция в одну сторону: из гигабайтного файла получается 64 символа, и обратно из этих символов файл не собрать. Отпечаток вообще не содержит содержимого — это лишь гарантия совпадения. Поэтому «восстановить битый файл по хешу» невозможно: если файл побился, его можно только скачать заново. Как устроено само хеширование, разобрано в статье про MD5 простыми словами.

Почему у двух копий одного файла хеш одинаковый?

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

Какой алгоритм надёжнее?

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

Хеш и подпись файла — это одно и то же?

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

Нужно ли проверять хеш каждого скачанного файла?

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

Коротко

Контрольная сумма — самая дешёвая страховка при скачивании файлов: одна команда вместо возможных часов на переустановку или лечение системы. Запомнить нужно немногое. На Windows — certutil -hashfile файл MD5 (или SHA256), на Mac и Linux — md5 файл и shasum -a 256 файл, для строк и текстов — SHA-256-генератор и соседние инструменты, которые считают хеш прямо в браузере. Сверили с суммой разработчика — совпало, ставьте; не совпало — перекачайте; не совпало снова — не запускайте и разбирайтесь. А если захочется понять, откуда берутся сами эти строки и почему они такие длинные, начните со статьи про SHA-256.

Попробуйте эти инструменты

Похожие статьи