Hash
Também conhecido como: Função hash · SHA-256 · Resumo criptográfico · Digest
Hash é um valor de tamanho fixo calculado a partir do conteúdo de um arquivo: se o arquivo mudar, o hash muda, o que permite verificar integridade.
Hash é o resultado de um cálculo feito sobre o conteúdo de um arquivo, uma função hash. Dado um arquivo de qualquer tamanho prático (o SHA-256 aceita mensagens de até 2^64 bits), o algoritmo produz uma saída de tamanho fixo. No SHA-256, são 256 bits, normalmente escritos como 64 caracteres hexadecimais. Um PDF de 40 MB e um de 2 KB geram hashes do mesmo tamanho.
O SHA-256 faz parte da família SHA-2, definida pelo padrão FIPS 180-4 do NIST. O hash de uma entrada vazia, por exemplo, começa com e3b0c44298fc1c14....
Como funciona
O padrão do NIST descreve as funções SHA como iterativas e de mão única, e que produzem um resumo (message digest) da mensagem. Três características explicam a utilidade do hash.
É determinístico: o mesmo arquivo, com o mesmo algoritmo, dá sempre o mesmo hash, em qualquer computador.
É sensível a mudanças: segundo o FIPS 180-4, qualquer alteração na mensagem resulta, com probabilidade altíssima, em um resumo diferente. Trocar uma vírgula por um ponto muda o hash por completo.
É de mão única: o padrão define como “seguro” um algoritmo para o qual é computacionalmente inviável achar uma mensagem que corresponda a um resumo dado, ou duas mensagens diferentes com o mesmo resumo. Por isso o hash não permite reconstruir o arquivo.
Assim, comparar dois hashes responde se dois arquivos são idênticos, sem comparar byte a byte.
Hash não é todo igual
Nem toda função hash serve para segurança. A RFC 6151 afirma que os ataques publicados contra o MD5 mostram que não é prudente usá-lo quando se exige resistência a colisões, ou seja, quando alguém pode ter interesse em fabricar dois arquivos com o mesmo hash. Para verificar apenas se um arquivo foi corrompido em um download, o MD5 pode continuar servindo, mas para integridade que precisa resistir a um adversário prefira SHA-256 ou outro algoritmo da família SHA-2.
O MD5 aparece dentro do próprio PDF: as revisões mais antigas da criptografia de PDF usam MD5 para calcular a chave a partir da senha, segundo a especificação do formato.
Na prática
Em uma assinatura digital de PDF, a especificação diz que a assinatura é criada calculando um resumo (digest) dos dados do documento e guardando-o no arquivo. Para verificar, o resumo é recalculado e comparado com o armazenado. Se forem diferentes, o documento foi modificado depois de assinado.
O carimbo do tempo usa a mesma ideia. O protocolo da RFC 3161 prevê que o cliente envie à autoridade de carimbo do tempo apenas o hash dos dados, e a autoridade deve carimbar só essa representação, sem examinar o conteúdo. Por isso o documento em si não precisa ser enviado.
Quem distribui programas pode publicar o hash do instalador. Você baixa o arquivo, calcula o hash e compara com o publicado. Se for igual, o arquivo é o mesmo.
Como calcular
No Windows, o PowerShell calcula com Get-FileHash arquivo.pdf. Segundo a Microsoft, o algoritmo padrão do comando é o SHA256. No macOS e no Linux, o utilitário shasum aceita o parâmetro -a 256: shasum -a 256 arquivo.pdf. Sem o -a, ele usa SHA-1 por padrão, conforme a documentação do programa.
Dois PDFs que parecem idênticos podem ter hashes diferentes. Como o hash considera todos os bytes do arquivo, basta uma diferença interna, como a data de modificação gravada nos metadados, para o resultado mudar. O hash compara o arquivo, não o que aparece na tela. Veja mais no guia de segurança de PDF.
Fontes
Consultadas em 21/10/2026.