Что говорит контрольная сумма
Контрольная сумма — короткий отпечаток, вычисленный по каждому байту файла. Если сумма вашей загрузки совпадает с опубликованной разработчиком, файл идентичен их файлу. Если отличается хоть один байт — потому что загрузка оборвалась или кто-то изменил файл, — сумма получается совсем другой.
В браузере
- Откройте Генератор SHA-256.
- Выберите скачанный файл. Его хеши вычисляются на вашем компьютере.
- Вставьте опубликованную сумму в «Сравнить с». Совпадение подтверждается сразу.
В Windows
В командной строке:
certutil -hashfile file.iso SHA256
Или в PowerShell, где SHA-256 используется по умолчанию:
Get-FileHash file.iso
На Mac
shasum -a 256 file.iso
В Linux
sha256sum file.iso
MD5 и SHA-1
Некоторые сайты до сих пор публикуют суммы MD5 или SHA-1. Они годятся, чтобы заметить повреждённую загрузку, но не намеренную подмену, потому что можно изготовить подделку с той же суммой. Если есть SHA-256, выбирайте её.
Разобранный пример
Создайте текстовый файл, содержащий только слово hello, без перевода строки после него. Его контрольная сумма SHA-256
2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
Нажмите Enter после слова и сохраните снова. Файл стал на один байт длиннее, и контрольная сумма становится
5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03
Второй хеш ничем не похож на первый. В этом и смысл контрольной суммы: любое изменение, даже самое маленькое, даёт совершенно другой результат.
Частые проблемы
- Хеши почти совпадают. «Почти» не бывает. Либо совпадает каждый символ, либо файлы различаются. Сравнивайте всю строку, а не только первые и последние символы. Заглавные и строчные буквы считаются одинаковыми.
- Вы сверили не с тем файлом. На страницах загрузки часто указано несколько контрольных сумм: для установщика, образа диска, 32-битной и 64-битной версий. Сверяйте и имя файла.
- Контрольная сумма лежит рядом с загрузкой. Она доказывает, что файл не повредился по дороге. Если взломан сам сервер, могли подменить и то и другое. Проекты, подписывающие файлы контрольных сумм (
.ascили.sig), позволяют проверить подпись с помощью GPG, чтобы это исключить.