Когда они стали такими популярными и почему их использовали?
Я не могу сказать вам, когда, но они используются по крайней мере по двум причинам.
1. Целостность файла
При загрузке огромного бинарного файла вы не можете убедиться, что во время передачи не было ни одной битовой ошибки. Это может быть вызвано различными причинами: сервер отправляет файл на ваш компьютер и сохраняет его на диске. Вы не можете предполагать, что каждая передача безошибочна.
Если вы используете этот файл для установки чего-либо на свой компьютер, он может распространить эту единственную ошибку вплоть до момента, когда программа не будет работать без видимой причины.
Другой распространенный сценарий: вы загружаете файл ISO, чтобы записать его на DVD, и устанавливаете Linux. Во время установки установщик замечает, что на диске имеется поврежденный файл. Это может быть связано с ошибкой в одном бите, которая произошла во время загрузки.
2. Ваша собственная безопасность
Если вы знаете предполагаемую контрольную сумму файла и загружаете другой файл, который не соответствует этой контрольной сумме, у вас либо есть файл с ошибками (см. Выше), либо кто-то хочет обмануть вас.
Представьте, что сайт загрузки известного дистрибьютора программного обеспечения захвачен. Хотя это может случаться не часто, считайте это проблемой безопасности.
Как вы проверяете контрольную сумму?
Зависит от используемого метода контрольной суммы. Контрольные суммы MD5 и SHA можно легко проверить в любой системе * nix с помощью команд md5
или sha1sum
. В Windows есть Проверка целостности контрольной суммы файла .
Обычно я скачиваю пакет и сразу его устанавливаю. Может быть, это глупо.
Вы можете скачать и установить его в любом случае. Как правило, установщик должен проверить, не содержит ли содержащиеся в нем данные ошибок и заполнены ли они. Вы можете попробовать удалить отдельные байты из исполняемого установщика с помощью шестнадцатеричного редактора и посмотреть, завершится ли он еще. Я вряд ли сомневаюсь в этом.
Подводя итог, нет необходимости проверять контрольные суммы (я никогда не делал это), но это не повредит, если у вас есть время.