Senha MD5: como criar hash de uma senha e quando MD5 esta errado
"Senha MD5" geralmente significa uma de duas tarefas de leitor: criar hash de uma string de senha conhecida em um fingerprint de 32-hex, ou recuperar a senha original a partir de um hash. A primeira e uma tarefa de uma so vez que um conversor MD5 resolve em segundos. A segunda e impossivel em geral - e para armazenamento real de senha, MD5 e a primitiva errada por completo.
Ultima revisao: 2026-05-23
| Intencao do leitor por tras 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 so vez de texto ate 990 caracteres em um digest de 32-hex. A mesma entrada sempre produz a mesma saida. | https://freetoolonline.com/developer-tools/md5-converter.html (botao To MD5) |
| "Tenho um hash MD5 e quero a senha original" | Nao possivel por design. Uma busca em dicionario pode ter sucesso se a mesma string foi pareada antes - vai falhar para qualquer entrada que o dicionario nunca viu. | Quando o lookup MD5 de fato funciona |
| "Estou armazenando senhas de usuarios em um banco de dados" | Primitiva errada. MD5 e rapido e sem sal por padrao, duas propriedades que tornam viavel forca bruta offline em hardware moderno. | Escolha bcrypt, argon2id ou scrypt |
| "Preciso de um fingerprint de uma string de config ou payload curto" | MD5 e aceitavel para fingerprints nao-adversariais: chaves de cache, IDs de dedup, ETags, checagens de integridade curtas. | https://freetoolonline.com/developer-tools/md5-converter.html (botao To MD5) |
| "Por que o site nao consegue me devolver o original?" | MD5 e uma funcao trapdoor de mao unica. A explicacao matematica mostra por que nao existe inverso. | Por que MD5 nao pode ser descriptografado |
Como criar hash de uma string de senha com MD5
Abra o conversor MD5, cole sua string de senha na area de texto superior e clique no botao To MD5. Um digest de 32-hex aparece imediatamente - a mesma entrada sempre produz a mesma saida, e por isso MD5 funciona como fingerprint. A area de texto aceita ate 990 caracteres, que cobre qualquer tamanho realista de senha mais um prefixo opcional de sal que voce concatena manualmente antes de hashear. O resultado serve para usos nao-adversariais como chaves de dedup, identificadores de cache e checagens curtas de integridade onde voce so precisa de um identificador curto e estavel para uma string mais longa. O texto original da senha nunca aparece no digest - a saida de 128 bits e um fingerprint de mao unica, nao uma forma criptografada da entrada.
Por que MD5 e a ferramenta errada para armazenar senhas de usuario
Armazenamento de senha e 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 e rapido - uma GPU moderna calcula bilhoes de digests MD5 por segundo, o que significa que um banco roubado de senhas com hash MD5 pode ser forcado por dicionario de senhas comuns em horas, nao seculos. Segundo, MD5 nao tem sal embutido: senhas identicas em usuarios diferentes produzem digests identicos, entao um unico lookup em dicionario ataca todos os usuarios com a mesma senha de uma vez. A correcao nao e "MD5 mais forte" - a correcao e mudar para uma primitiva feita para armazenamento de senha. Bcrypt, argon2id e scrypt sao deliberadamente lentos (fatores de trabalho configuraveis que escalam com hardware) e exigem sal por usuario por construcao. 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
Sites que afirmam "descriptografar senha MD5" ou "reverter MD5" nao rodam MD5 ao contrario - tal operacao nao existe. O que eles de fato fazem e procurar o hash de 32-hex em um dicionario precomputado de strings ja hasheadas antes. O lookup tem sucesso quando a senha e comum o bastante para aparecer no dicionario (a maioria das listas top-10000 de senhas estao exaustivamente pre-hasheadas) e falha para qualquer senha unica o suficiente para que ninguem a tenha hasheado antes. O conversor MD5 deste site expoe o mesmo lookup como botao To Text - cole um hash de 32-hex, clique no botao, e o dicionario retorna o texto plano correspondente se existir o par. O lookup e um match de fingerprint contra dados historicos, nao uma computacao reversa criptografica. Para senhas unicas ou aleatorias o dicionario retorna nada - isso e o comportamento esperado, nao um bug.
Quando MD5 de uma senha e aceitavel
Fora de autenticacao, MD5 de uma string com forma de senha pode ser uma escolha razoavel. Se voce precisa de um identificador curto e estavel 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 submissao de usuario, o ETag para um pequeno payload de texto - MD5 encaixa porque e rapido e produz uma string de 32-hex de largura fixa. As propriedades que tornam MD5 inseguro para autenticacao (velocidade, sem sal) sao exatamente as propriedades que o tornam util para fingerprinting. A regra: se um atacante que adivinhe a entrada ganharia algo com um palpite bem-sucedido, nao use MD5. Se a entrada e operacionalmente nao-secreta e voce so precisa de um identificador curto e estavel, MD5 esta bem.
Perguntas frequentes
Posso fazer MD5 de uma senha e usar o resultado como senha armazenada?
Voce pode tecnicamente fazer isso, mas nao deveria. Um banco de senhas MD5 roubado e funcionalmente equivalente a um banco de senhas em texto plano para qualquer senha comum, porque forca bruta em GPU contra dicionario recupera a maioria em horas. Use bcrypt, argon2id ou scrypt - sao projetados para este trabalho.
O MD5 de "password" e o mesmo em todo site?
Sim. MD5 e uma funcao deterministica: a mesma entrada sempre produz o mesmo digest de 32-hex. O MD5 de "password" e 5f4dcc3b5aa765d61d8327deb882cf99 em todo site, em toda ferramenta, em toda linguagem - exatamente a propriedade que torna MD5 sem sal inseguro para armazenamento de senha e util 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 e salgado no sentido de que a mesma senha com sal diferente produz um digest diferente. Mas isso ainda e MD5 - sal so bloqueia o ataque por dicionario, nao o ataque de forca bruta no par salgado em si. Use bcrypt ou argon2id, que combinam sal e fator de trabalho lento em uma primitiva.
O botao "decrypt" do conversor MD5 retornou minha senha - MD5 esta quebrado?
Nao. O lookup To Text retornou um match porque sua senha foi previamente pareada com esse hash no dicionario. Se voce colar uma senha que ninguem mais hasheou - uma string aleatoria de 12 caracteres, por exemplo - o lookup retorna nada. A palavra "decrypt" e atalho conveniente para a operacao de lookup; a propria criptografia continua de mao unica.
Que tamanho de senha faz o lookup MD5 falhar?
Qualquer senha longa e aleatoria o bastante para que nenhum dicionario a tenha. Na pratica, uma senha totalmente aleatoria de 12 caracteres de um alfabeto de 70 caracteres tem cerca de 2^74 valores possiveis - bem alem de qualquer dicionario pratico. Uma senha de 6 caracteres do alfabeto minusculo tem 26^6 cerca de 309 milhoes de valores, o que cabe confortavelmente em um dicionario precomputado. Comprimento e aleatoriedade, nao a escolha entre MD5 ou SHA-256, determinam se o lookup tem sucesso.