Resumo criptográfico
resumo = HASH(bytes da mensagem)
Obtenha os hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de um texto ou de qualquer ficheiro, em hexadecimal e Base64, com cópia num clique. O ficheiro é lido localmente e nunca é enviado.
O ficheiro é lido no navegador e nunca é enviado.
MD5 e SHA-1 ainda servem como somas de verificação, mas admitem colisões: para segurança, utilize SHA-256 ou superior.
Este gerador calcula ao mesmo tempo os hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de um texto ou de um ficheiro, cada um em hexadecimal minúsculo e em Base64. Destina-se a quem precisa de verificar uma transferência, confirmar se duas versões de um ficheiro são idênticas ou indicar uma soma de verificação num script ou numa documentação.
Uma função de hash transforma uma entrada de qualquer tamanho num resumo de comprimento fixo: 128 bits para MD5, 160 bits para SHA-1 e 256, 384 e 512 bits para a família SHA-2 definida na norma FIPS 180-4. O mesmo conteúdo dá sempre o mesmo hash, e a menor alteração produz um resultado completamente diferente. Por exemplo, o SHA-256 de «hello» é 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824, enquanto «hello» seguido de uma quebra de linha dá 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03. O texto é codificado em UTF-8 antes do cálculo, tal como fazem o sha256sum e a maioria das bibliotecas.
Os hashes SHA são calculados com a API Web Crypto do navegador; o MD5, que a Web Crypto não disponibiliza, é calculado por uma implementação local. O navegador lê o ficheiro a partir do seu disco, sem o enviar, e processa os bytes em bruto, pelo que o resultado coincide com sha256sum, certutil -hashfile ou Get-FileHash. Cada hash é apresentado em hexadecimal minúsculo, o formato dos ficheiros SHA256SUMS, e em Base64, o formato dos atributos integrity (SRI) e do cabeçalho Content-Digest (RFC 9530). O MD5 e o SHA-1 são assinalados como inadequados para segurança, porque existem colisões práticas para ambos (a colisão SHAttered do SHA-1 data de 2017).
Cole o texto na área de introdução ou selecione um ficheiro de qualquer tipo: o navegador lê-o sem o enviar para lado nenhum.
MD5, SHA-1, SHA-256, SHA-384 e SHA-512 são calculados em simultâneo, cada um em hexadecimal minúsculo e em Base64; o MD5 e o SHA-1 apresentam o aviso «apenas somas de verificação».
Utilize o botão de cópia do algoritmo e do formato pretendidos e cole o hash na sua comparação, no seu script ou na sua documentação.
resumo = HASH(bytes da mensagem)
As distribuições Linux e muitos fabricantes publicam um ficheiro SHA256SUMS junto das transferências. Calcule o SHA-256 do ficheiro recebido e compare-o com o valor oficial para detetar uma transferência corrompida ou adulterada.
Dois ficheiros com o mesmo SHA-256 são idênticos byte a byte. Compare o hash de uma cópia de segurança, de uma exportação ou de um contrato antes e depois de o copiar para uma pen USB ou de o enviar, para confirmar que não foi alterado.
Uma fórmula Homebrew, um Dockerfile ou um script de instalação pedem frequentemente o SHA-256 de um ficheiro. Gere-o localmente e copie diretamente a forma hexadecimal ou Base64 pretendida.
Entrada
Origem: Texto; Texto a processar: abc; Codificação: HexadecimalResultado
SHA-256: ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015adNão, uma função de hash é unidirecional e não existe qualquer operação de desencriptação. Os sites que «desencriptam» hashes limitam-se a procurar o valor em tabelas de hashes pré-calculados. Isso funciona com palavras comuns ou palavras-passe fracas, nunca com um conteúdo longo e desconhecido.
Para detetar uma corrupção acidental, sim: o MD5 continua rápido e muito usado como soma de verificação. Para qualquer uso de segurança (assinaturas, certificados, integridade face a um atacante, palavras-passe), não, porque é possível criar em segundos dois ficheiros diferentes com o mesmo MD5. O mesmo se aplica ao SHA-1, com um custo maior.
Ambos pertencem à família SHA-2: o SHA-256 produz 256 bits (64 caracteres hexadecimais) e o SHA-512 produz 512 bits (128 caracteres). Os dois são seguros atualmente; o SHA-256 é o mais difundido, e o SHA-512 é muitas vezes mais rápido em processadores de 64 bits. O SHA-384 é uma variante truncada do SHA-512, comum em SRI.
A causa mais frequente é um carácter invisível: uma quebra de linha acrescentada pelo echo, finais de linha do Windows (CRLF) em vez de LF ou um espaço final. A codificação também conta, e a ferramenta processa o texto em UTF-8. Num ficheiro, calcular diretamente o hash dá exatamente o mesmo resultado que sha256sum ou Get-FileHash.
Em teoria sim, porque o número de hashes possíveis é finito: chama-se colisão. Nunca foi encontrada uma colisão de SHA-256 e produzir uma continua fora de alcance. Para o MD5 e o SHA-1 as colisões são exequíveis na prática, daí o aviso apresentado pela ferramenta.
Sim: o navegador lê o ficheiro no seu dispositivo e nunca o envia, o que é adequado a documentos confidenciais. O limite prático de tamanho depende da memória disponível no seu dispositivo. Para imagens de disco com vários gigabytes, um utilitário de linha de comandos continua a ser mais indicado.
Ferramentas relacionadas
Ferramentas semelhantes ou complementares a esta.
Verifique se dois hashes ou somas de verificação coincidem, independentemente de maiúsculas, espaços ou dois-pontos.
Calcule um HMAC SHA-1, SHA-256, SHA-384 ou SHA-512 em hex ou Base64 e verifique uma assinatura de webhook.
Gere o atributo integrity SRI de um script ou folha de estilos a partir de um conteúdo, ficheiro ou URL de CDN.
Saiba como o SRI utiliza uma impressão digital criptográfica para verificar se um script ou uma folha de estilos externa corresponde ao ficheiro esperado.
Distinga hash, cifragem e assinatura e utilize impressões para verificar igualdade ou integridade sem lhes atribuir falsas garantias.
Saiba quando usar criptografia, hashing, HMAC ou PBKDF2 para confidencialidade, integridade, autenticação e palavras-passe.
Entenda como OAuth 2.0, PKCE, JWT, JWK e JWKS se relacionam: autorização, tokens, chaves públicas e verificação.