Senha MD5: como criar hash de uma senha e quando MD5 está errado
"Senha MD5" significa duas tarefas: criar hash de uma string em um fingerprint de 32 hex, ou recuperar a senha original de um hash. A primeira resolve em segundos com um conversor MD5. A segunda é impossível - MD5 é a primitiva errada para armazenamento de senha.
FreetoolOnline editorial team| Intenção do leitor por trás de "senha MD5" | O que MD5 de fato faz | Para onde ir |
|---|---|---|
| "Criar hash da minha string de senha em MD5 para armazenar ou comparar" | Hashing de uma só vez de texto até 990 caracteres em um digest de 32-hex. A mesma entrada sempre produz a mesma saída. | https://freetoolonline.com/developer-tools/md5-converter.html (botão To MD5) |
| "Tenho um hash MD5 e quero a senha original" | Não possível por design. Uma busca em dicionário pode ter sucesso se a mesma string foi pareada antes - vai falhar para qualquer entrada que o dicionário nunca viu. | Quando o lookup MD5 de fato funciona |
| "Estou armazenando senhas de usuários em um banco de dados" | Primitiva errada. MD5 é rápido e sem sal por padrão, duas propriedades que tornam viável força bruta offline em hardware moderno. | Escolha bcrypt, argon2id ou scrypt |
| "Preciso de um fingerprint de uma string de config ou payload curto" | MD5 é aceitável para fingerprints não-adversariais: chaves de cache, IDs de dedup, ETags, checagens de integridade curtas. | https://freetoolonline.com/developer-tools/md5-converter.html (botão To MD5) |
| "Por que o site não consegue me devolver o original?" | MD5 é uma função trapdoor de mão única. A explicação matemática mostra por que não existe inverso. | Por que MD5 não pode ser descriptografado |
Como criar hash de uma string de senha com MD5
Abra o conversor MD5, cole sua string de senha na área de texto superior e clique no botão To MD5. Um digest de 32-hex aparece imediatamente - a mesma entrada sempre produz a mesma saída, e por isso MD5 funciona como fingerprint. A área de texto aceita até 990 caracteres, que cobre qualquer tamanho realista de senha mais um prefixo opcional de sal que você concatena manualmente antes de hashear. O resultado serve para usos não-adversariais como chaves de dedup, identificadores de cache e checagens curtas de integridade onde você só precisa de um identificador curto e estável para uma string mais longa. O texto original da senha nunca aparece no digest - a saída de 128 bits é um fingerprint de mão única, não uma forma criptografada da entrada.
Por que MD5 é a ferramenta errada para armazenar senhas de usuário
Armazenamento de senha é um contexto adversarial: um atacante que rouba o banco de senhas tenta recuperar senhas em texto plano para os hashes roubados. MD5 falha mal nesse trabalho por dois motivos. Primeiro, MD5 é rápido - uma GPU moderna calcula bilhões de digests MD5 por segundo, o que significa que um banco roubado de senhas com hash MD5 pode ser forçado por dicionário de senhas comuns em horas, não séculos. Segundo, MD5 não tem sal embutido: senhas idênticas em usuários diferentes produzem digests idênticos, então um único lookup em dicionário ataca todos os usuários com a mesma senha de uma vez. A correção não é "MD5 mais forte" - a correção é mudar para uma primitiva feita para armazenamento de senha. Bcrypt, argon2id e scrypt são deliberadamente lentos (fatores de trabalho configuráveis que escalam com hardware) e exigem sal por usuário por construção. O guia dedicado de alternativas explica qual encaixa em qual fluxo de login web, chave de API ou token.
O que sites de "lookup de senha MD5" de fato fazem
O que sites de "lookup de senha MD5" de fato fazem é buscar rainbow tables ou dumps vazados - não invertem MD5. MD5 Converter aqui só faz hash no navegador e não recupera senhas.
Quando MD5 de uma senha é aceitável
Fora de autenticação, MD5 de uma string com forma de senha pode ser uma escolha razoável. Se você precisa de um identificador curto e estável para uma string longa - a chave de cache para um endpoint API com escopo por tenant, o ID de dedup para um job enfileirado por submissão de usuário, o ETag para um pequeno payload de texto - MD5 encaixa porque é rápido e produz uma string de 32-hex de largura fixa. As propriedades que tornam MD5 inseguro para autenticação (velocidade, sem sal) são exatamente as propriedades que o tornam útil para fingerprinting. A regra: se um atacante que adivinhe a entrada ganharia algo com um palpite bem-sucedido, não use MD5. Se a entrada é operacionalmente não-secreta e você só precisa de um identificador curto e estável, MD5 está bem.
Perguntas frequentes
As perguntas frequentes sobre hash de senha MD5 cobrem os três cenários que os leitores mais frequentemente trazem ao hash de senha MD5 - se é seguro para armazenamento, como a busca online funciona e quando MD5 de uma string de senha é aceitável.
Posso fazer MD5 de uma senha e usar o resultado como senha armazenada?
Você pode tecnicamente fazer isso, mas não deveria. Um banco de senhas MD5 roubado é funcionalmente equivalente a um banco de senhas em texto plano para qualquer senha comum, porque força bruta em GPU contra dicionário recupera a maioria em horas. Use bcrypt, argon2id ou scrypt - são projetados para este trabalho.
O MD5 de "password" é o mesmo em todo site?
Sim. MD5 é uma função determinística: a mesma entrada sempre produz o mesmo digest de 32-hex. O MD5 de "password" é 5f4dcc3b5aa765d61d8327deb882cf99 em todo site, em toda ferramenta, em toda linguagem - exatamente a propriedade que torna MD5 sem sal inseguro para armazenamento de senha e útil para fingerprinting.
Como adiciono sal antes de hashear uma senha com MD5?
Concatene a string de sal com a string de senha antes de colar no conversor: sal + senha ou senha + sal, sua escolha. O hash resultante é salgado no sentido de que a mesma senha com sal diferente produz um digest diferente. Mas isso ainda é MD5 - sal só bloqueia o ataque por dicionário, não o ataque de força bruta no par salgado em si. Use bcrypt ou argon2id, que combinam sal e fator de trabalho lento em uma primitiva.
O botão "decrypt" do conversor MD5 retornou minha senha - MD5 está quebrado?
Não. O lookup To Text retornou um match porque sua senha foi previamente pareada com esse hash no dicionário. Se você colar uma senha que ninguém mais hasheou - uma string aleatória de 12 caracteres, por exemplo - o lookup retorna nada. A palavra "decrypt" é atalho conveniente para a operação de lookup; a própria criptografia continua de mão única.
Que tamanho de senha faz o lookup MD5 falhar?
Qualquer senha longa e aleatória o bastante para que nenhum dicionário a tenha. Na prática, uma senha totalmente aleatória de 12 caracteres de um alfabeto de 70 caracteres tem cerca de 2^74 valores possíveis - bem além de qualquer dicionário prático. Uma senha de 6 caracteres do alfabeto minúsculo tem 26^6 cerca de 309 milhões de valores, o que cabe confortavelmente em um dicionário pré-computado. Comprimento e aleatoriedade, não a escolha entre MD5 ou SHA-256, determinam se o lookup tem sucesso.
Relacionado: se você usar um conversor de arquivos neste site e o link de download não aparecer após o processamento, consulte link de download não aparece após a conversão - cinco soluções para as causas mais comuns do lado do navegador e do servidor.