Você está quase completamente certo. A única correção é que eles são hashes do arquivo inteiro.
Às vezes, os arquivos podem ser corrompidos durante o download, da maneira que for usada para transferi-los. Os hashes existem para garantir que o arquivo esteja intacto. Isso é especialmente útil para usuários com conexões ruins à Internet. Quando eu estava usando o fax modem, muitas vezes eu tinha problemas com downloads corrompidos.
Alguns gerenciadores de download (como GetRight, se bem me lembro) podem até calcular automaticamente o hash do arquivo e compará-lo com o valor conhecido.
Outro ponto interessante é a segurança. Um problema potencial com as ferramentas de código aberto é o quanto você pode confiar no distribuidor. Muitas vezes, programas como o Eclipse são a principal ferramenta usada pelas empresas de software e, portanto, é extremamente importante que elas passem do desenvolvedor para o usuário intacto. Como os programas são de código aberto, é possível, por exemplo, criar uma versão infectada que pareceria normal, mas vazar o código-fonte para algum servidor remoto ou infectar programas criados pelo software com um vírus (acho que isso aconteceu com alguma versão do Delphi) ou algo semelhante. Por esse motivo, é importante ter o hash correto oficial, que pode ser usado para verificar se o arquivo distribuído é o que afirma ser.
Algumas reflexões sobre os canais de distribuição. Muitas vezes, o software livre pode ser encontrado em grande quantidade de sites e sites mais populares, como o SourceForge, por exemplo, possuem um grande número de espelhos. Digamos que haja um servidor em Barland que espelha um grande site de distribuição de software. O FooSoft usa o programa distribuído por site e eles estão na República de Baz, ao lado de Barland. Se alguém quiser se infiltrar no FooSoft, ele poderá modificar apenas a cópia no espelho Barland e esperar que o software de geolocalização garanta que o FooSoft obtenha as versões modificadas. Como as versões de outros espelhos são boas, as chances são menores de que o malware seja detectado. Você também pode fazer com que o malware detecte o endereço IP do computador e ative-o apenas se for de um determinado intervalo, diminuindo assim as chances de descoberta e assim por diante.
MD5 e SHA1 não são apenas somas de verificação. São somas de verificação criptográficas. Isso significa que, em teoria, dois arquivos diferentes podem ter a mesma soma de verificação, mas a probabilidade disso é muito pequena, quase 0. Como conseqüência, você usa o inverso: somas de verificação diferentes significam que você obtém conteúdo diferente com uma probabilidade de quase 1. Então somas de verificação criptográficas são usadas para detectar alterações nos arquivos. Podem ser alterações maliciosas feitas de propósito ou apenas erros que ocorreram durante os downloads.
fonte