Ты почти полностью прав. Единственное исправление заключается в том, что они являются хешами всего файла.
Иногда файлы могут быть повреждены во время загрузки любым способом, который используется для их передачи. Хэши, чтобы убедиться, что файл не поврежден. Это особенно полезно для пользователей с плохим интернет-соединением. Когда я использовал факс-модем, у меня часто возникали проблемы с поврежденными загрузками.
Некоторые менеджеры загрузок (например, GetRight, если я правильно помню) могут даже автоматически вычислять хеш файла и сравнивать его с известным значением.
Еще один интересный момент - это безопасность. Потенциальная проблема с инструментами с открытым исходным кодом - насколько вы можете доверять распространителю. Часто такие программы, как Eclipse, являются основным инструментом, используемым компаниями-разработчиками программного обеспечения, и поэтому для них чрезвычайно важно перейти от разработчика к пользователю без изменений. Поскольку программы имеют открытый исходный код, можно, например, создать зараженную версию, которая бы выглядела нормально, но передавать исходный код на какой-либо удаленный сервер или заражать программы, созданные программным обеспечением, вирусом (я думаю, что это действительно произошло с какой-то версией Delphi) или что-то подобное. По этой причине важно иметь официальный правильный хеш, который можно использовать для проверки того, является ли распространяемый файл тем, чем он является.
Несколько мыслей о каналах распространения. Часто свободное программное обеспечение можно найти на большом количестве сайтов, а большинство популярных сайтов, таких как SourceForge, например, имеют большое количество зеркал. Допустим, в Барленде есть сервер, который отражает большой сайт распространения программного обеспечения. FooSoft использует программу, распространяемую по сайту, и они находятся в Республике Баз, которая находится рядом с Барлендом. Если кто-то хочет внедриться в FooSoft, он может изменить только копию на зеркале Barland и надеяться, что программное обеспечение для геолокации будет гарантировать, что FooSoft получит измененные версии. Поскольку версии с других зеркал в порядке, вероятность того, что вредоносное ПО будет обнаружено, ниже. Вы также можете заставить вредоносные программы определять IP-адрес компьютера и активировать его, только если он находится в определенном диапазоне, и таким образом снижается вероятность обнаружения и т. Д.