Sim, o arquivo inteiro é retirado porque o cálculo do hash ocorre no sistema local.
Cenário: Eu gostaria de gerar um hash de um arquivo armazenado em um servidor remoto. Para este exemplo, digamos que estamos usando o compartilhamento de arquivos do Windows para o cliente e o servidor. Eu, como cliente, localizo o arquivo no compartilhamento de arquivos remoto. Em seguida, uso algum utilitário de algum tipo para gerar um hash do arquivo em questão. Além disso, só para ficar claro, estamos procurando um hash do arquivo e não seu caminho. Então, para completar a tarefa, uma cópia completa do arquivo tem que passar pela rede para que possamos completar a tarefa de hash?
Acabei de executar uma experiência usando o cmdlet Powershell Get-FileHash
e meus resultados sugerem que o davidgo está correto. Primeiro eu fiz uma imagem ISO de 4,5 GB que foi hospedada em um servidor remoto (especificamente, um compartilhamento CIFS em um arquivador Netapp). Eu tenho um resultado em 2 minutos e 17 segundos. Então eu copiei o arquivo para o meu disco local. Essa operação de cópia por si só levou 1 minuto e 43 segundos. Em seguida, executei novamente a operação de hash e obtive um resultado em 1 minuto e 7 segundos. Esses números não somam muito, mas não sei por quê. De qualquer forma, o hash de um arquivo local foi mais rápido em 50%.
Tags file-sharing hashing