Este gerador de hash MD5 transforma um texto em uma impressão digital de 32 caracteres, direto no navegador. É o que o pessoal de TI usa para conferir se dois textos são idênticos, criar chaves de cache ou checar um valor que veio num log. Duas coisas que todo brasileiro precisa saber antes de usar. Primeiro: MD5 não se desfaz. Não existe "md5 para texto"; os sites de "md5 crack online" só procuram o hash numa lista de senhas comuns já calculadas. Segundo: o português tem acento, e acento muda o hash. Leia a seção sobre "ç" e "ã" abaixo antes de comparar com o resultado de outro sistema.
O que é MD5
MD5 é uma função de hash de mão única. Ela recebe qualquer entrada (um único caractere, um arquivo de 10 megabytes, um documento com um milhão de caracteres) e devolve uma impressão digital fixa de 128 bits, escrita como 32 caracteres hexadecimais, tipo 5d41402abc4b2a76b9719d911017c592. A mesma entrada sempre gera o mesmo hash; qualquer mudança mínima na entrada gera um hash completamente diferente.
Esta ferramenta calcula o MD5 de qualquer texto que você colar, no seu navegador. O seu texto não sai do seu aparelho. Ela trabalha com texto digitado ou colado; para calcular o MD5 de um arquivo, use o comando do seu sistema (md5sum no Linux, md5 no macOS, certutil -hashfile arquivo MD5 no Windows).
Como usar
- Cole ou digite o texto na caixa de entrada.
- Clique em "Generate Hash". O hash MD5 aparece logo abaixo, em 32 caracteres hexadecimais minúsculos.
- Clique em "Copy" para copiar o hash.
- Altere a entrada (mesmo que seja um único caractere) e clique em "Generate Hash" de novo: o hash muda inteiro. É o "efeito avalanche", que torna os hashes úteis para detectar alterações.
hello é:5d41402abc4b2a76b9719d911017c592Coloque o H em maiúscula (
Hello) e o hash vira:8b1a9953c4611296a827abf8c47804d7Uma saída completamente diferente por causa de um único caractere. É por isso que o MD5 pega corrupção acidental de arquivo: qualquer mudança, por menor que seja, muda o hash.
Atenção com acentos: "ç", "ã", "é"
Esta ferramenta converte cada caractere em um único byte (codificação Latin-1) antes de calcular o hash. Para texto sem acento, o resultado é idêntico ao de qualquer outro sistema. Para texto com acento, não: quase todo sistema moderno (Linux, bancos de dados, PHP, Python, Node) calcula o MD5 sobre os bytes em UTF-8. Exemplo: aqui, café dá 961f50f6282239d09e48f812c1ca7276; em UTF-8, o mesmo café dá 07117fe4a1ebd544965dc19573183da2. Caracteres fora do Latin-1, como emojis, nem chegam inteiros ao cálculo. Se você precisa bater o resultado com o de outro sistema, use esta ferramenta só para texto sem acento.
Para que serve o MD5 (e onde ele ainda funciona bem)
Conferir a integridade de arquivos. Você baixa uma ISO de 4 GB de um projeto open source, e o projeto publica o MD5 esperado ao lado do link. Depois do download, você calcula o MD5 do arquivo local e compara. Se bater, o arquivo chegou inteiro. Esse ainda é um uso perfeitamente válido: corrupção acidental é exatamente o que o MD5 pega bem.
Encontrar duplicatas. Quer achar arquivos repetidos numa pasta? Calcule o hash de cada um e agrupe os hashes iguais. O MD5 é rápido o bastante para processar milhares de arquivos em segundos.
Chaves de cache. Precisa de um identificador determinístico, de tamanho fixo, para algum dado? O MD5 da entrada é uma escolha comum. A mesma entrada sempre gera a mesma chave, a busca é O(1) e, na prática, não há colisões quando ninguém está tentando forçá-las.
Impressões digitais rápidas em logs. Registrar "MD5(payload) = abc123…" permite ligar o mesmo payload aparecendo em vários lugares sem guardar o conteúdo em si.
Para que o MD5 NÃO é seguro
Guardar senhas. Se o seu sistema usa MD5 para guardar senha de usuário, ele está quebrado. Ponto. GPUs modernas calculam bilhões de hashes MD5 por segundo, então quem roubar o seu banco de senhas consegue quebrar a maioria delas em horas. Use bcrypt, Argon2 ou scrypt: eles foram feitos para ser lentos e consumir muita memória.
Assinaturas criptográficas. O MD5 não é mais resistente a colisões. Pesquisadores já mostraram como construir duas entradas diferentes com o mesmo MD5, o que significa que um atacante pode trocar um documento por outro mantendo o mesmo hash. Use SHA-256 ou SHA-3 para qualquer coisa ligada a assinatura.
Certificados SSL/TLS. Os principais navegadores deixaram de aceitar certificados assinados com MD5 há anos. Se você emite certificados, use no mínimo SHA-256.
MD5 x SHA-256 x outros hashes
| Hash | Tamanho da saída | Resistente a colisões? | Velocidade | Pode usar para… |
|---|---|---|---|---|
| MD5 | 128 bits (32 caracteres hex) | Não (desde 2004) | Muito rápido | Integridade, duplicatas, chaves de cache |
| SHA-1 | 160 bits (40 caracteres hex) | Não (desde 2017) | Rápido | O mesmo que o MD5; prefira SHA-256 |
| SHA-256 | 256 bits (64 caracteres hex) | Sim | Rápido | Qualquer coisa sensível em segurança |
| SHA-512 | 512 bits (128 caracteres hex) | Sim | Um pouco mais lento que o SHA-256 em 32 bits, mais rápido em 64 bits | O mesmo que o SHA-256, com saída maior |
| bcrypt / Argon2 | Variável | Sim (e lentos de propósito) | Lentos (de propósito) | Só para guardar senhas |
Mitos comuns
"MD5 é criptografia." Não. Criptografia é reversível: com a chave, você volta ao original. O MD5 é de mão única: não dá para recuperar a entrada a partir do hash. A única "descriptografia" é a força bruta ou a consulta a rainbow tables, listas de hashes de entradas comuns já calculados.
"O MD5 gera um hash único para cada entrada." Em teoria, duas entradas podem colidir (gerar o mesmo hash). Na prática, você nunca vai ver uma colisão por acaso: o espaço de 128 bits é grande demais. O problema é que atacantes conseguem fabricar colisões de propósito, e é isso que torna o MD5 inseguro para usos de segurança.
"Com salt, o MD5 fica seguro para senhas." O salt impede ataques com rainbow tables, mas não deixa o cálculo do hash mais lento. Uma senha em MD5 com salt continua sendo quebrada em horas por uma GPU moderna. O que protege senhas é a lentidão do bcrypt e do Argon2, não o salt.
Ferramentas relacionadas
Para a alternativa moderna e mais segura, use o Gerador SHA-256. Para codificar dados binários para transmissão em vez de tirar uma impressão digital deles, o Codificador/Decodificador Base64 é a ferramenta certa. Para criar senhas fortes (que nunca devem ser guardadas com MD5), veja o Gerador de Senhas.