Ferramentas
Guias

Calculadora de hash

Cripto

Calcula SHA-1/256/384/512 via Web Crypto e MD5. Saída em Hex ou Base64.

100% no cliente Sem backend
Entrada
Saída
Digite texto para calcular o resumo.
Nesta página

O que é um hash?#

Um hash criptográfico é uma impressão digital unidirecional para bytes arbitrários. Fornece-se uma mensagem de qualquer comprimento e obtém-se de volta um resumo de comprimento fixo que se comporta como uma assinatura dessa entrada exata: mude um único bit e a saída muda completamente. O hashing responde a duas perguntas práticas ao mesmo tempo — “estes dados mudaram?” e “posso referenciar estes dados por um id curto e estável?” — pelo que está na base de verificações de integridade de arquivos, endereçamento de conteúdo, desduplicação e armazenamento de senhas.

Esta página calcula cinco algoritmos: a família SHA-2 (SHA-256, SHA-384, SHA-512), SHA-1 e MD5. As quatro variantes SHA correm através do motor Web Crypto nativo do navegador (crypto.subtle.digest), o mesmo primitivo que o código de produção usa — não uma reimplementação em JavaScript. O MD5 não faz parte do Web Crypto, pelo que só é carregado a pedido quando o seleciona realmente, mantendo-o fora do download inicial da página.

Um hash não é encriptação. É irreversível: não se consegue reconstruir a entrada a partir do resumo. Se precisa que duas partes compartilhem um resumo com chave, use HMAC; se precisa de inverter a operação, use encriptação simétrica.

Como usar#

  1. Cole a sua entrada no painel da esquerda. Qualquer coisa textual — uma string, um blob JSON, um excerto de configuração. Os bytes são codificados como UTF-8 antes do hashing.
  2. Escolha o algoritmo:
    • SHA-256 — a predefinição moderna; resumo de 256 bits, usado em todo o lado, do TLS ao Git ao blockchain.
    • SHA-384 / SHA-512 — resumos mais longos da mesma família; escolha quando uma especificação os exige.
    • SHA-1 — 160 bits; legado, serve para checksums, partido para assinaturas resistentes a colisões.
    • MD5 — 128 bits; rápido e ubíquo mas criptograficamente partido. Útil para checksums não relacionados com segurança e chaves de cache legadas.
  3. Escolha a codificação de saída: hex (minúsculas, a convenção comum para resumos) ou base64 (mais compacto, comum em tokens).
  4. Clique em Exemplo para carregar a string de teste canónica, ou Limpar para recomeçar. O resumo atualiza-se em tempo real no painel da direita; Copiar recolhe-o.

Principais funcionalidades#

  • Web Crypto nativo. SHA-1/256/384/512 são calculados por crypto.subtle.digest — a implementação auditada do navegador, não uma biblioteca de terceiros.
  • MD5 preguiçoso. A implementação MD5 só é procurada quando a seleciona, pelo que nunca pesa na primeira renderização.
  • Hex ou base64. Alternar com um clique sem reescrever.
  • Linha de estado em tempo real. Confirma o algoritmo e o comprimento em bytes do resumo, pelo que um resultado truncado ou off-by-one é óbvio.
  • Zero envios. O hashing acontece inteiramente no seu navegador; a entrada nunca chega a um servidor.

Exemplo prático#

A string canónica de referência é The quick brown fox jumps over the lazy dog. Com o algoritmo definido como SHA-256 e saída hex, o resumo é:

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

A mesma string sob SHA-1 (hex):

2fd4e1c67a2d28fced849ee1bb76e7391b93eb12

Um caso útil é a string vazia. Fazer hash de nada absolutamente ainda produz um resumo bem definido e não vazio — para SHA-256 é e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, e para MD5 é d41d8cd98f00b204e9800998ecf8427e. Estes vetores de entrada vazia são também como a própria suíte de testes desta ferramenta verifica a correção — se a sua saída difere, a página foi adulterada.

FAQ#

SHA-256 ou MD5 — qual escolho?#

SHA-256 para tudo o que toca segurança: esquemas de sal em senhas, URLs assinadas, provas de integridade, ids de conteúdo que têm de resistir a ataques de colisão. MD5 é aceitável apenas para checksums não adversariais (uma verificação rápida “este arquivo mudou?”, uma chave de cache) onde ninguém está tentando forjar uma colisão. Se não tem a certeza, prefira SHA-256.

Porque é que a mesma entrada dá sempre o mesmo resumo?#

O hashing é determinístico — não há sal aleatório envolvido nesta camada (ao contrário do bcrypt). Esse determinismo é todo o ponto do endereçamento de conteúdo: os mesmos bytes têm de produzir sempre a mesma impressão digital. O lado negativo é que duas pessoas que façam hash do mesmo segredo obtêm o mesmo resumo, pelo que um hash simples é uma forma terrível de guardar senhas.

Consigo recuperar o original a partir do hash?#

Não. Um hash criptográfico é uma função unidirecional por desenho; não há chave nem operação inversa. “Decifrar um SHA-256” é um erro de categoria. O único ataque é a força bruta (tentar entradas até uma corresponder), que é exatamente o que torna as senhas fracas perigosas mesmo quando feitas hash sem sal.

Porque é que o meu MD5 difere de uma ferramenta que costumo usar?#

Quase sempre um desalinhamento de representação de bytes: uma mudança de linha final, finais de linha diferentes (CRLF vs LF), ou a outra ferramenta a fazer hash de uma representação UTF-16 enquanto esta página faz hash de UTF-8. Compare os bytes em bruto, não o texto no tela.