Это помогает проверить что, после того как Вы сделаны, загрузив файл, что у Вас есть тот же файл, который находится на их сервере.
После петляния через хеш-функцию, если малейшее различие найдено между Вашей копией и их, это приведет к Вам получающий другой хеш, чем, что они отправили.
Хеш MD5 не защищает Вас, если сайт взламывается, потому что MD5 суммируют быть измененными также хакером. Подпись GPG (в отдельном файле) защитила бы от этого, если у Вас есть копия открытого ключа, от которого Вы добрались где-то в другом месте или проверили, что это - корректный ключ путем проверки подписей на ключе.
Какой хеш MD5 хорош для, удостоверяется, что файл не стал поврежденным в процессе загрузки. Контрольные суммы TCP не делают всех ошибок, которые могли произойти, в то время как Ваш файл в пути (хотя те ошибки редки), и я видел, что ISO-образ повреждается во время процесса загрузки прежде.
Это предлагает защиту против возможной атаки "человек посередине". Предположим, что злонамеренная сторона так или иначе смогла угнать запрос на файл, но не смогла изменить текст самой веб-страницы. MITM смог бы заставить Вас загружать другую последовательность байтов, но не сможет заставить хеш его файла соответствовать хешу, заключенному в кавычки на qweb странице, тот из реального файла.
Существует несколько причин:
Иногда, переданные файлы могут быть повреждены, или намеренно взломщиком или из-за неисправного соединения.
Криптографические хеш-функции (такие как MD5) разработаны, чтобы измениться, если существует изменение в исходном файле. По сути, можно обнаружить такие изменения.
Обратите внимание, если Вы хотите защиту от намеренной модификации (сделанный взломщиком), необходимость в способе проверить, что ссылочный хеш, который Вы получили, корректен и от надежного источника (например, подпись через PGP или сертификаты X.509, например). Вам, возможно, также понадобится лучший хеш-алгоритм (например, SHA-1, SHA-256), поскольку против нападений коллизий протестовали MD5.