Что такое контрольная сумма?
Контрольная сумма, или хеш, - это короткая строка из букв и цифр, которая вычисляется по каждому байту файла. Один и тот же файл всегда даёт одну и ту же сумму, а изменение хотя бы одного байта даёт совершенно другую. По сути, это отпечаток содержимого файла.
Разработчики публикуют контрольные суммы рядом со ссылками на скачивание. Если сумма скачанного файла совпадает с опубликованной, значит, у вас ровно тот файл, который они выложили, а не повреждённая или подменённая копия.
Зачем проверять скачанные файлы
- Повреждённые загрузки. Обрыв соединения или сбоящий диск могут испортить большой файл без единого сообщения об ошибке. Битый ISO-образ часто отказывает посреди установки, когда вы уже и не помните, откуда его взяли.
- Подменённые файлы. Взломав зеркало загрузки, злоумышленники могут подменить файл на версию с вредоносом. В 2016 году взломали сайт Linux Mint, и ссылка на скачивание вела на ISO с бэкдором.
- Не тот файл. Проверка суммы заодно ловит путаницу с версиями - например, сборку для ARM вместо x64 или старый релиз из кеша.
Как проверить хеш файла онлайн
- Перетащите скачанный файл в инструмент выше или нажмите, чтобы его выбрать.
- Скопируйте контрольную сумму со страницы загрузки и вставьте её в поле ожидаемой суммы.
- Инструмент покажет, совпадают ли они. MD5, SHA-1, SHA-256 и SHA-512 определяются по длине суммы.
Можно вставить и целую строку из файла с контрольными суммами, например 9f86d0...0a08 *ubuntu.iso, - сумма будет выделена автоматически.
Почему это безопасно для личных файлов
Большинство онлайн-калькуляторов хеша сначала загружают файл к себе на сервер. Здесь файл читается небольшими частями силами самого браузера, поэтому ничего не покидает ваше устройство. Ждать загрузки не нужно, и даже очень большие файлы обрабатываются без проблем.
Как проверить хеш MD5 или SHA-256 в Windows
В PowerShell есть встроенная команда для подсчёта контрольных сумм. Откройте PowerShell (найдите его через меню «Пуск»), перейдите в папку с файлом и выполните:
cd $HOME\Downloads
Get-FileHash .\ubuntu.isoПо умолчанию выводится сумма SHA-256. Для других алгоритмов добавьте -Algorithm MD5, -Algorithm SHA1 или -Algorithm SHA512. Чтобы не сверять сумму вручную символ за символом, выполните:
(Get-FileHash .\ubuntu.iso).Hash -eq "вставьте-сюда-ожидаемую-сумму"PowerShell выведет True, если суммы совпадают, и False, если нет. В старой командной строке используйте certutil -hashfile ubuntu.iso SHA256.
Как проверить хеш MD5 или SHA-256 на Mac
Откройте Терминал (Программы → Утилиты), перейдите в папку с файлом и выполните:
cd ~/Downloads
shasum -a 256 app.dmgЗамените 256 на 1 или 512 для SHA-1 или SHA-512. Для MD5 выполните md5 app.dmg. Чтобы Терминал сам сравнил суммы, выполните:
echo "вставьте-сюда-ожидаемую-сумму app.dmg" | shasum -a 256 -cПри совпадении выводится app.dmg: OK. Обратите внимание: между суммой и именем файла два пробела.
Как проверить хеш MD5 или SHA-256 в Linux
Во всех популярных дистрибутивах Linux есть утилиты для подсчёта сумм. В терминале выполните:
sha256sum ubuntu.isoТочно так же работают md5sum, sha1sum и sha512sum. Многие проекты публикуют файл с контрольными суммами всех загрузок, часто он называется SHA256SUMS. Положите его в одну папку с файлом и выполните:
sha256sum -c SHA256SUMS --ignore-missingДля каждого совпавшего файла выводится ubuntu.iso: OK. Флаг --ignore-missing пропускает файлы из списка, которых вы не скачивали.
MD5, SHA-1, SHA-256 или SHA-512
Все четыре алгоритма делают одно и то же, но MD5 и SHA-1 больше не защищают от намеренной подделки файла. Случайное повреждение они по-прежнему выявляют, поэтому их и указывают на многих страницах загрузки.
| Алгоритм | Длина | Надёжность | Где используется |
|---|---|---|---|
| MD5 | Длина32 символа | НадёжностьВзломан. Можно создать два разных файла с одинаковой суммой | Где используетсяПоиск повреждённых или недокачанных файлов |
| SHA-1 | Длина40 символов | НадёжностьВзломан с 2017 года по той же причине | Где используетсяСтарые страницы загрузки и Git |
| SHA-256 | Длина64 символа | НадёжностьНадёжен | Где используетсяСегодня стандарт для загрузки ПО |
| SHA-512 | Длина128 символов | НадёжностьНадёжен | Где используетсяНекоторые дистрибутивы Linux и инструменты безопасности |
Если на странице загрузки указано несколько сумм, используйте SHA-256 или SHA-512.
Что делать, если контрольная сумма не совпала
Не открывайте и не устанавливайте файл. Затем проверьте по порядку, начиная с самого вероятного:
- Вы сравниваете суммы одного и того же алгоритма? SHA-256 никогда не совпадёт с MD5.
- Вы скачали именно ту версию, для которой указана сумма? Сверьте номер версии и архитектуру - x64 или ARM.
- Удалите файл и скачайте заново, лучше с официального сайта, а не с зеркала.
- Если и свежая копия с официального сайта не совпадает, напишите разработчику и не пользуйтесь файлом.
Чего контрольная сумма не скажет
Совпадение суммы доказывает, что ваш файл идентичен тому, по которому её считали. Но не доказывает, что этот файл безопасен. Если злоумышленники контролируют сайт, они могут заменить и сам файл, и сумму рядом с ним.
Для надёжности берите контрольную сумму не там же, где файл: например, с официального сайта, если скачивали с зеркала. Некоторые проекты ещё и подписывают файлы с суммами через GPG - это подтверждает, что суммы опубликовал сам разработчик.
Частые вопросы
Отправить файлы конфиденциально
Отправляйте файлы по ссылке со сквозным шифрованием. Бесплатно, без регистрации, и мы не видим, что вы отправляете.
Отправить файл