primeiro e formost você pode usar ferramentas para calcular um 'número' daquele arquivo que é específico para aquele arquivo e somente aquele arquivo. esse número é chamado de 'hash digital' ou 'digest':
então, use algo como 'sha256' (melhor) ou 'md5' (ainda útil embora sob ataque) tp calcular o hash. calcule-o no servidor e na sua máquina. compare os dois. se eles são idênticos, parabéns.
você encontra muitos programas de hash gratuitamente, por exemplo.
- hashtab
- link
observações:
-
se você não consegue calcular o resumo do arquivo no servidor, não pode ter certeza de que baixou todos os bits perfeitamente
-
às vezes você não precisa calcular o resumo no servidor, pois algumas pessoas fornecem essas informações e informam sobre o resumo. mas tenha cuidado, você tem que 'baixar' essa informação também. então, se alguém lhe enviar o número errado e fizer com que você faça o download do arquivo errado (manipulado), o resumo não terá valor.
-
se você quiser uma maneira fácil para seus clientes / clientes fazerem o download de algo e você na extremidade de implantação da cadeia quiser saber se o cliente (que nem sempre é técnico) baixou o arquivo corretamente: use algo diferente de .tar.gz. tarballs (.tar.gz) são fluxos de dados sem meios para realmente detectar se há mais dados. com contêineres como .zip ou .7z isso é diferente, pois contêm o TOC (tabela de conteúdo) no final do arquivo. se o cliente fizer o download do .zip e perder alguns bytes no final (tempo limite devido a conexões lentas), o cliente não conseguirá abrir o arquivo e terá um feedback instantâneo. às vezes, esses contêineres oferecem ao checksum o conteúdo para que o usuário possa verificar se o contêiner 'parece' ok. no final, a única maneira de dizer que você fez o download de uma cópia perfeita de um arquivo é calcular seu resumo conforme explicado no começo.