Gerador de Hash

Digite um texto para gerar seus hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 — calculados ao vivo.

Atenção: MD5 e SHA-1 são considerados criptograficamente quebrados — servem apenas para checksums e compatibilidade com sistemas legados, nunca para senhas ou assinaturas. Para segurança, prefira SHA-256 ou superior. Como a Web Crypto do navegador não implementa MD5, o MD5 aqui é calculado por uma implementação própria em JavaScript (os SHA usam a crypto.subtle nativa).
MD5
SHA-1
SHA-256
SHA-384
SHA-512

O que é uma função de hash?

Uma função de hash transforma uma entrada de qualquer tamanho (um texto, um arquivo) em uma sequência de tamanho fixo — o digest. A mesma entrada sempre produz o mesmo hash, e uma pequena mudança na entrada muda completamente o resultado (efeito avalanche). Um bom hash criptográfico é unidirecional: é inviável recuperar a entrada original a partir do digest. Hashes são usados para verificar integridade de arquivos, indexar dados, armazenar senhas (com salt e algoritmos próprios como bcrypt/argon2) e assinar conteúdo.

Os algoritmos desta ferramenta

Como o cálculo é feito

Os hashes SHA são calculados pela Web Crypto API (crypto.subtle.digest), nativa dos navegadores modernos e implementada em código otimizado. O MD5, que a Web Crypto propositalmente não oferece (por ser um algoritmo legado), é calculado por uma implementação em JavaScript puro incluída nesta página, seguindo a RFC 1321. Em ambos os casos, o texto é primeiro convertido para bytes UTF-8, de modo que acentos e emojis produzem o mesmo hash que ferramentas de linha de comando.

Perguntas frequentes (FAQ)

Posso usar MD5 ou SHA-1 para guardar senhas?

Não. MD5 e SHA-1 estão quebrados e, além disso, hashes de propósito geral são rápidos demais para senhas (facilitam ataques de força bruta). Para senhas, use algoritmos desenhados para isso, como bcrypt, scrypt ou argon2, sempre com salt.

Por que o hash de um acento é diferente do que eu esperava?

O resultado depende da codificação dos bytes. Esta ferramenta usa UTF-8, o padrão da web. Se outra ferramenta usar Latin-1 ou UTF-16, o hash do mesmo texto será diferente porque os bytes de entrada são diferentes.

Consigo gerar o hash de um arquivo?

Esta versão trabalha com texto. Para arquivos, o mesmo conceito se aplica lendo os bytes do arquivo; podemos adicionar suporte a upload local (sem envio) em uma próxima versão.