O que é hash de arquivo
Hash é um algoritmo que transforma dados de comprimento arbitrário em uma string de comprimento fixo. O hash de um arquivo é a "impressão digital" do arquivo — o mesmo arquivo tem um valor de hash único; mude um byte e o hash muda.
Usos comuns:
- Verificar integridade do arquivo (se o download está completo)
- Prevenir adulteração (se o arquivo foi modificado)
- Eliminar duplicatas (se dois arquivos são iguais)
- Armazenamento de senhas (guarda o hash, não o texto original)
Algoritmos de hash comuns
MD5
- Saída de 128 bits (string hexadecimal de 32 caracteres)
- Rápido
- Já foi quebrado, existem colisões (arquivos diferentes com mesmo hash)
- Não adequado para situações de segurança
- Ainda usado para verificação de integridade (sem segurança)
SHA-1
- Saída de 160 bits (string hexadecimal de 40 caracteres)
- Velocidade média
- Já foi quebrado, existem colisões
- Não recomendado para segurança
- O Git usava SHA-1 antigamente, agora migra para SHA-256
SHA-256
- Saída de 256 bits (string hexadecimal de 64 caracteres)
- Velocidade mais lenta
- Seguro, sem colisões conhecidas atualmente
- Recomendado para situações de segurança
- Blockchain e certificados HTTPS usam SHA-256
SHA-512
- Saída de 512 bits (string hexadecimal de 128 caracteres)
- Lento
- Segurança maior que SHA-256
- Adequado para situações de alta segurança
Recomendação de escolha
- Verificação de integridade (sem segurança): MD5 é suficiente (rápido)
- Situações de segurança: SHA-256 (equilibra segurança e velocidade)
- Alta segurança: SHA-512
- Não recomendado: SHA-1 (já quebrado)
Princípio da verificação de hash
Geração do hash
- Ler todo o conteúdo do arquivo
- Calcular com o algoritmo de hash
- Retornar uma string de comprimento fixo
Processo de verificação
- Ao baixar o arquivo, obtenha o hash oficial
- Calcule o hash do arquivo localmente
- Compare os dois valores de hash
- Iguais = arquivo íntegro; diferentes = arquivo corrompido ou adulterado
Por que pode verificar integridade
Propriedades do algoritmo de hash:
- Mesma entrada sempre gera mesma saída
- Entradas diferentes quase nunca geram mesma saída (probabilidade de colisão muito baixa)
- Mudar um byte na entrada muda completamente a saída (efeito avalanche)
Portanto, mesmo que o arquivo mude um byte, o hash será totalmente diferente.
Casos de uso
Verificação de download
Ao baixar arquivos grandes (imagens de sistema, instaladores de software), o site oficial fornece o hash. Após o download, calcule o hash local e compare para confirmar que o download está completo e sem danos.
Prevenção de adulteração
Para arquivos importantes (contratos, provas), gere o hash e arquive. No futuro, verifique se o arquivo foi modificado.
Eliminação de duplicatas
Se dois arquivos têm o mesmo hash, o conteúdo é igual (probabilidade de colisão muito baixa). Usar hash para identificar duplicatas é mais rápido que comparar byte a byte.
Armazenamento de senhas
Sites armazenam o hash da senha do usuário, não o texto original. No login, calculam o hash da senha digitada e comparam. Mesmo se o banco de dados vazar, o atacante não obterá a senha original.
Assinatura digital
Certificados digitais usam hash + criptografia para verificar a origem e integridade do arquivo.
Como verificar o hash de um arquivo
Verificar com o DocsAll
Ferramenta de hash de arquivos:
- Envie o arquivo
- A ferramenta calcula MD5, SHA-1, SHA-256
- Exibe os valores de hash
- Compare com o hash oficial
Cálculo no navegador, arquivos não são enviados.
Linha de comando no Windows
certutil -hashfile nome_do_arquivo SHA256
Linha de comando no Mac/Linux
shasum -a 256 nome_do_arquivo
md5 nome_do_arquivo
Comparar hashes
- Copie o hash oficial
- Cole na caixa de comparação
- A ferramenta compara automaticamente
- Ou compare manualmente caractere por caractere
Perguntas frequentes
O que fazer se o hash for diferente
- Download incompleto: baixe novamente
- Arquivo adulterado: baixe novamente de uma fonte confiável
- Algoritmo de hash diferente: confirme se está comparando com o mesmo algoritmo
O MD5 ainda pode ser usado?
- Verificação de integridade (sem segurança): pode
- Situações de segurança (prevenir adulteração, senhas): não recomendado, use SHA-256
- Risco de colisão: alguém pode criar dois arquivos diferentes com o mesmo MD5
É possível reverter o hash para o original?
Não. O hash é uma função unidirecional. A partir do hash não é possível recuperar o original. Por isso, armazenar o hash da senha é seguro (mesmo se vazar, não dá para obter o texto original).
Hash de arquivo grande é lento
- O hash precisa ler o arquivo inteiro
- Arquivos grandes (vários GB) levam tempo para calcular
- Fenômeno normal, tenha paciência
Maiúsculas e minúsculas no hash
O hash é uma string hexadecimal; maiúsculas e minúsculas não importam (a e A são equivalentes). Na comparação, ignore o tamanho.
Dicas de segurança
Use hashes de fontes confiáveis
Obtenha o hash no site oficial ou em canais confiáveis. Não use hashes de fontes desconhecidas para verificar — podem ter sido substituídos por atacantes.
Use algoritmos de hash fortes
Em situações de segurança, use SHA-256 ou superior. MD5 e SHA-1 já não são seguros.
Hash não é criptografia
O hash é unidirecional, não pode ser descriptografado. A criptografia é bidirecional, pode ser descriptografada. Não use hash como criptografia.
Hash com salt
Ao armazenar senhas, use hash com salt (salt + senha antes de hash) para evitar ataques com tabela arco-íris.
Calcular hash com o DocsAll
Ferramenta de hash de arquivos:
- Envie o arquivo
- Calcula automaticamente MD5, SHA-1, SHA-256, SHA-512
- Exibe todos os valores de hash
- Copie o hash necessário
- Compare com o oficial
Cálculo no navegador, arquivos não são enviados ao servidor.
Resumo
O hash do arquivo é a impressão digital do arquivo, usado para verificação de integridade e prevenção de adulteração. MD5 é rápido, mas já foi quebrado; SHA-256 é seguro e recomendado. Ao verificar, obtenha o hash de fonte confiável e compare com o mesmo algoritmo. A ferramenta de hash do DocsAll roda no navegador, os arquivos não saem do dispositivo.