O que é um hash?
Uma função hash transforma dados de qualquer tamanho em uma "impressão digital" de tamanho fixo. A mesma entrada sempre gera o mesmo resultado, mudar um único caractere muda o resultado por completo e não é possível recuperar o original a partir do hash. Hashes são usados para verificar downloads, detectar mudanças nos dados e criar chaves de cache.
Como usar
- Escolha um algoritmo, ou "Todos os algoritmos" para calcular todos de uma vez.
- Digite na caixa de entrada. Com "Cálculo automático" ativado, o resultado aparece assim que você para de digitar.
- Ajuste a codificação de entrada e o formato de saída se precisar, ou ative o HMAC e digite uma chave.
Comparação de algoritmos
| Algoritmo | Tamanho (hex) | Indicado para |
|---|---|---|
| MD5 | 32 caracteres | Checksums e chaves de cache; está quebrado, nunca use para segurança |
| SHA-1 | 40 caracteres | Compatibilidade com sistemas antigos (como o Git); não recomendado para segurança |
| SHA-256 | 64 caracteres | A opção mais usada hoje |
| SHA-384 / SHA-512 | 96 / 128 caracteres | Quando é preciso um resultado mais longo |
O que é HMAC?
O HMAC é um hash combinado com uma chave secreta: só quem conhece a chave consegue gerar o mesmo resultado. Muitos serviços o usam para assinar requisições de API e provar que um webhook veio mesmo deles; gateways de pagamento, o GitHub e o LINE usam HMAC-SHA256. Ative o HMAC e digite a chave, que pode ser texto, Hex ou Base64.
Codificação de entrada e saída
- Codificação de entrada: o mesmo texto gera bytes diferentes em codificações diferentes e, portanto, um hash diferente. O comum é UTF-8. Com Hex ou Base64, o hash é calculado sobre os bytes que eles representam.
- Formato de saída: Hex (minúsculas ou maiúsculas) ou Base64. Muitas assinaturas de API esperam Base64.
Exemplos
- MD5 de
abc:900150983cd24fb0d6963f7d28e17f72 - SHA-256 de
abc:ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad - HMAC-SHA256 com a chave
keye a mensagemThe quick brown fox jumps over the lazy dog:f7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
Hash de arquivos e comparação
- Hash de arquivo: arraste um arquivo para a área de entrada ou clique em "Escolher arquivo" (até 200 MB). O hash é calculado a partir do conteúdo do arquivo, que é como se confere se um download está completo.
- Comparar: cole o hash publicado pelo site de download em "Comparar com o hash esperado" para ver se confere; em Hex, maiúsculas e minúsculas não fazem diferença. Com "Todos os algoritmos", a ferramenta diz qual algoritmo confere.
Perguntas frequentes
Dá para descriptografar um hash?
Não. O hash é de mão única, então não há nada para descriptografar. Os chamados "descriptografadores de MD5" apenas procuram o hash em enormes tabelas de strings comuns já calculadas, por isso senhas simples são fáceis de achar.
Por que meu resultado é diferente do de outra ferramenta?
Geralmente a entrada é um pouco diferente: um espaço ou quebra de linha a mais, finais de linha diferentes (CRLF do Windows e LF do Unix) ou outra codificação de texto. Garanta que a entrada seja idêntica e que a mesma codificação de entrada seja usada.
Devo guardar senhas de usuários com MD5 ou SHA-256?
Não. Esses algoritmos são rápidos, então os atacantes também conseguem testar senhas rapidamente. Use um algoritmo de hash de senhas como bcrypt, scrypt ou Argon2.
Minha chave HMAC fica salva?
Não. Os cálculos acontecem no seu navegador. O site lembra a sua entrada e as configurações, mas a chave HMAC nunca é lembrada, de propósito, então você precisa digitá-la de novo depois de recarregar a página.