Reverter MD5: Como Descriptografar um Hash MD5 (2026)

Tutorial
12 min de leitura

Você tem um único hash MD5 como 5f4dcc3b5aa765d61d8327deb882cf99 e quer o valor original de volta. Talvez ele tenha saído de uma coluna de banco de dados em uma máquina CTF, ou um cliente perguntou se a antiga tabela de usuários ainda é legível. A primeira coisa a saber: você não pode descriptografar MD5. Não há chave nem inversa. O que você pode fazer é consultar o hash ou quebrá-lo, e qual método funciona depende inteiramente do que foi gerado. Pratique as técnicas de recuperação na prática no curso Password Cracking da HackerDNA. Para a visão geral, veja nosso guia completo de teste de penetração.

Este guia trata de reverter um único hash MD5 conhecido: primeiro tentar um banco de busca reversa online, entender quando essas ferramentas acertam e por que erram, e rodar uma quebra local rápida quando elas não retornam nada. Para a metodologia completa multialgoritmo, ele aponta para nossos guias mais profundos em vez de repeti-los.

TL;DR: MD5 não pode ser realmente descriptografado porque é uma função de hash de mão única, sem chave e sem inversa matemática. Para "reverter" um hash MD5 você o consulta em um banco de pares hash-texto claro pré-calculados (instantâneo para senhas comuns, inútil para qualquer coisa rara ou com salt) ou o quebra localmente gerando o hash de palavras candidatas até bater. Cole-o primeiro no CrackStation; se errar, rode hashcat -m 0 ou john --format=raw-md5 contra a rockyou.txt.

Dá para descriptografar ou reverter um hash MD5?

Dá para reverter um hash MD5? Não por descriptografia. MD5 é um hash criptográfico de mão única, então não há chave para desfazer nem algoritmo publicado que derive a entrada a partir da saída. O único jeito de recuperar o valor original é adivinhá-lo: gerar o hash de strings candidatas e comparar cada resultado com o seu alvo até bater, ou consultar o hash em um banco onde alguém já fez exatamente isso.

Os números explicam por que não existe inversa. MD5 transforma qualquer entrada em uma saída fixa de 128 bits, 2^128 hashes possíveis, e descarta informação de propósito para que a saída não revele nada sobre a entrada. A especificação original (RFC 1321, 1992) fez disso um objetivo de projeto.

Então por que todo mecanismo de busca mostra ferramentas que afirmam "descriptografar MD5" ou "unhash MD5"? Porque, para as entradas que mais interessam aos atacantes, as senhas comuns, essas ferramentas funcionam. Elas não revertem a matemática. Consultam o hash em uma enorme tabela pré-calculada de entradas conhecidas. O vocabulário de "descriptografia de MD5" é tecnicamente incorreto (descriptografar exige uma chave, gerar hash não), mas o resultado prático é idêntico: o atacante recupera o texto claro.

Essa distinção define toda a sua abordagem. Se o valor original era uma palavra comum, uma senha vazada ou algo curto, você o recupera em milissegundos. Se era com salt, longo ou aleatório, nenhuma ferramenta o reverte enquanto você viver. O resto deste guia distingue rápido esses dois casos.

Reverter um hash MD5 com ferramentas de busca online

Para um único hash, o movimento mais rápido é perguntar à internet se alguém já o viu antes. Os serviços de busca reversa mantêm bancos com bilhões de pares hash-texto claro coletados de dumps de senhas vazadas, palavras de dicionário e quebras anteriores. Se o seu alvo era uma entrada comum, a resposta volta na hora, sem nenhum custo de processamento do seu lado.

As ferramentas de busca reversa que vale conhecer em 2026:

  • CrackStation - mais de 15 bilhões de entradas, gratuito, buscas instantâneas para MD5, SHA-1, SHA-256 sem salt e outros hashes comuns. É a primeira a tentar.
  • md5decrypt.net - afirma ter 1,15 trilhão de entradas. Concentra-se em senhas comuns e palavras de dicionário, mas o tamanho gera acertos que o CrackStation perde.
  • hashes.com - um serviço pago de custódia para hashes quebrados. Vale a pena quando os bancos gratuitos erram e você não tem GPU.

Teste o hash de exemplo no CrackStation agora: 5f4dcc3b5aa765d61d8327deb882cf99. Ele retorna "password" em menos de um segundo. Esse hash está em todo banco vazado desde 2009, então é a primeira coisa que qualquer ferramenta de banco de dados ou de quebra tenta.

Quando as buscas reversas funcionam e quando falham

Uma busca reversa é só uma leitura chave-valor em uma tabela pré-calculada. Ela acerta quando o hash exato já está na tabela e não retorna nada quando não está. Isso torna o comportamento previsível:

  • Acerta senhas comuns, palavras de dicionário e qualquer coisa que tenha aparecido em um vazamento público. password, 123456 e qwerty resolvem na hora.
  • Erra hashes com salt. Um salt por usuário muda o hash mesmo para senhas idênticas, então o par pré-calculado nunca existe. As buscas online param totalmente de funcionar contra MD5 com salt.
  • Erra entradas longas ou aleatórias. Uma string aleatória de 16 caracteres ou um UUID nunca foi gerado por ninguém antes de você, então nenhuma tabela o contém. Uma frase secreta como correcthorsebatterystaple geralmente erra; uma senha reutilizada como Tr0ub4dor&3 às vezes acerta.

Uma regra operacional: nunca cole hashes de um trabalho real em uma busca pública. Alguns serviços registram cada consulta, e os hashes de senha do seu cliente são dados sensíveis que não devem sair do ambiente dele. As buscas servem para CTFs e seus próprios dados de teste. Para trabalho real, quebre localmente.

💻
Pratique agora: Shadow Cracker - extraia e quebre hashes de senha reais de um sistema Linux em um lab no navegador. Sem instalação, sem VPN, tudo roda no seu navegador.

Quando as buscas erram: quebre o hash MD5 localmente

Se os bancos de busca reversa não retornam nada, o hash não era uma entrada comum, mas isso não quer dizer que seja irrecuperável. Quer dizer que você precisa gerar os candidatos por conta própria. A ideia é a mesma sobre a qual as tabelas de busca foram construídas: gerar o hash de uma lista de senhas prováveis e comparar cada saída com o seu alvo. Duas ferramentas fazem isso bem, e para um único hash MD5 sem salt cada uma é uma linha só.

Quebra rápida com Hashcat (modo 0)

Salve seu hash em hash.txt, um por linha, e aponte o Hashcat 6.2.6 para uma wordlist. O modo 0 é MD5 puro:

$ hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
5f4dcc3b5aa765d61d8327deb882cf99:password

Session..........: hashcat
Status...........: Cracked
Recovered........: 1/1 (100.00%) Digests

As flags são mínimas: -m 0 seleciona MD5, -a 0 seleciona um ataque de dicionário direto, e o último argumento é a sua wordlist. Em qualquer GPU moderna isso termina em bem menos de um minuto, e o texto claro quebrado aparece depois dos dois-pontos. Cerca de 30 a 50% dos hashes MD5 reais caem com a rockyou.txt sem nenhuma regra.

Quebra rápida com John the Ripper

Se você não tem GPU, o John the Ripper 1.9.0-jumbo-1 faz o mesmo trabalho na CPU. Diga a ele que o formato é MD5 puro para que não chute NTLM em uma string hexadecimal de 32 caracteres:

$ john --format=raw-md5 --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
password         (?)
1g 0:00:00:00 DONE

$ john --show --format=raw-md5 hash.txt
?:password
1 password hash cracked, 0 left

A flag --format=raw-md5 é a parte que as pessoas esquecem. Sem ela, o John pode detectar o hash como NTLM, o que produz a resposta errada ou nenhuma. Depois de uma execução, --show relê o resultado quebrado do potfile do John.

Isso é o quanto uma recuperação de hash único precisa ir. Assim que você quebra lotes, mistura algoritmos ou aplica regras de mutação e máscaras sobre a sua wordlist, passe para a metodologia completa: nosso tutorial de quebra de hash cobre identificação de hashes, ataques por regra e por máscara, e benchmarks de GPU para MD5, SHA-1, NTLM e bcrypt, e o guia do John the Ripper cobre o modo incremental, regras personalizadas e os scripts *2john que extraem hashes de arquivos criptografados.

Veja o mecanismo: hash de mão única em Python

Se você quer sentir por que MD5 não tem inversa, gere um hash você mesmo e veja um brute force minúsculo recuperá-lo. A biblioteca padrão basta:

import hashlib, itertools, string

target = "5d41402abc4b2a76b9719d911017c592"  # md5 de "hello"
for length in range(1, 6):
    for guess in itertools.product(string.ascii_lowercase, repeat=length):
        candidate = "".join(guess)
        if hashlib.md5(candidate.encode()).hexdigest() == target:
            print("Found:", candidate); exit()

Isso testa toda string minúscula de até cinco caracteres, cerca de 12 milhões de candidatos, e encontra "hello" em poucos segundos. Repare no que o laço nunca faz: reverter o hash. Ele gera o hash para a frente e compara, repetidamente. Essa é a única operação disponível, o que é todo o sentido de uma função de mão única.

É também por isso que ninguém quebra hashes reais em Python puro. O laço roda a cerca de 1 milhão de hashes por segundo; o Hashcat na GPU da mesma máquina faz bilhões. O script é uma ferramenta de ensino, não de recuperação.

Quando você não consegue reverter um hash MD5 de jeito nenhum

As buscas e a quebra compartilham um mesmo modo de falha: se o espaço de busca é grande demais, você não consegue percorrê-lo. Três situações colocam um hash MD5 efetivamente fora de alcance, e reconhecê-las cedo poupa dias de processamento inútil.

O salt. Um MD5 com salt mistura um valor aleatório por usuário na entrada antes do hash, então dois usuários com a mesma senha obtêm hashes diferentes. Isso aniquila as tabelas de busca reversa, porque o par pré-calculado para o valor com salt nunca existiu. Você ainda pode quebrar um MD5 com salt localmente (Hashcat modo 10 para md5($pass.$salt), modo 20 para md5($salt.$pass)), mas precisa atacar cada hash individualmente e precisa do salt.

Entradas longas e aleatórias. Uma senha aleatória de 16 caracteres tirada de um conjunto de 95 caracteres tem 95^16 (cerca de 4,4 * 10^31) possibilidades. Mesmo a 164 bilhões de hashes por segundo em uma GPU de ponta, isso ultrapassa a idade do universo. Tokens criptográficos, UUIDs e chaves de API geradas por máquina vivem todos com segurança nessa categoria.

Nunca foi MD5 puro desde o começo. As aplicações modernas armazenam senhas com bcrypt, scrypt ou argon2, que adicionam um custo deliberado para que cada tentativa leve milissegundos em vez de nanossegundos. A folha OWASP de armazenamento de senhas explica o porquê. Na prática, os hashes MD5 que de fato caem são os que nunca deveriam ter sido MD5: sistemas legados, ferramentas internas que ninguém atualizou e tabelas migradas de bancos antigos. O mesmo processo de recuperação se aplica a outros hashes rápidos sem salt, então teste-o contra SHA-1 no nosso lab de quebra de hash SHA-1.

Reverter MD5: FAQ

Dá para reverter um hash MD5 matematicamente?

Não. MD5 é uma função de hash criptográfica sem inversa matemática. Ela transforma qualquer entrada em uma saída fixa de 128 bits e descarta informação no processo. O que as pessoas chamam de "reverter MD5" é brute force ou uma consulta a banco, não inversão de verdade. Nenhum algoritmo publicado recupera a entrada a partir do hash diretamente.

"Descriptografar MD5" é o mesmo que "reverter MD5"?

Sim, no uso casual. As duas expressões descrevem recuperar o texto claro de um hash. O termo "descriptografia" é tecnicamente incorreto porque o hash não tem chave e não é criptografia. Mas ferramentas online e buscas usam "descriptografar MD5", "MD5 decoder" e "unhash MD5" de forma intercambiável. A técnica por trás é sempre busca ou brute force.

Por que um descriptografador MD5 online retorna minha senha na hora?

Porque sua senha já estava no banco dele. Os sites de busca reversa guardam bilhões de pares hash-texto claro de vazamentos e dicionários. Quando o seu hash bate com uma entrada, o site relê a resposta em milissegundos. É uma leitura de banco, não uma descriptografia. Adicione salt à entrada ou use um valor aleatório longo e o mesmo site não retorna nada.

Quanto tempo leva para reverter um hash MD5?

De milissegundos a nunca. Uma senha comum como "password" está em todo banco de busca e resolve na hora. Uma senha minúscula de 8 caracteres quebra em menos de dois segundos em uma única GPU. Uma senha aleatória de 16 caracteres é inviável de calcular. A resposta honesta é que depende inteiramente da entrada original.

O que significa "unhash MD5"?

"Unhash" é uma gíria informal para quebrar um hash e voltar ao texto claro. É a mesma operação que "reverter MD5" ou "descriptografar MD5". A palavra sugere que a operação é o oposto do hash, mas matematicamente não é. Ferramentas que afirmam fazer "unhash" de qualquer entrada usam tabelas de busca ou brute force por baixo.

MD5 ainda é seguro para senhas em 2026?

Não. MD5 é considerado criptograficamente quebrado desde 2004 e inadequado para armazenamento de senhas há mais de uma década. As aplicações modernas devem usar bcrypt, scrypt ou argon2 com parâmetros de custo apropriados. MD5 ainda tem usos legítimos estreitos para somas de verificação não ligadas a segurança, mas nunca para credenciais, tokens de sessão ou qualquer coisa que um atacante queira recuperar.

Considerações legais e éticas

Lembrete crítico: Só tente reverter hashes MD5 que você tenha permissão escrita explícita para testar. Quebrar hashes de sistemas que você não possui viola o CFAA (EUA), o Computer Misuse Act (Reino Unido) e leis equivalentes no mundo todo.

Trabalhos de teste de penetração autorizados e competições CTF são os únicos contextos apropriados para quebrar hashes que você não gerou. O escopo de qualquer trabalho deve mencionar explicitamente a quebra de senhas como atividade autorizada. Se não mencionar, obtenha confirmação escrita do cliente antes de extrair ou atacar qualquer material de hash.

Para prática e estudo próprio, fique em ambientes dedicados: labs da HackerDNA, máquinas do VulnHub, Hack The Box, OverTheWire ou qualquer plataforma CTF. Eles existem especificamente para a prática ofensiva e não trazem risco legal. Gerar seus próprios hashes MD5 localmente com echo -n "test" | md5sum também serve para testar ferramentas e scripts.

Uma linha ética a manter: não baixe dumps de credenciais de vazamentos reais. O conjunto de dados é tentador porque os hashes são reais e as taxas de sucesso altas, mas a posse de material de credenciais roubadas cria exposição legal mesmo quando a intenção é pesquisa. Conjuntos públicos de treino como a rockyou.txt são exceção porque organizações de segurança os distribuem há anos e eles vêm com o Kali Linux.

Seus próximos passos para reverter hashes MD5

O caminho de recuperação de um único hash MD5 é curto. Você não pode descriptografá-lo, então comece pelo método mais barato que talvez já tenha a resposta: cole-o no CrackStation. Se a entrada era comum, você tem o texto claro em um segundo. Se a busca errar, rode hashcat -m 0 ou john --format=raw-md5 contra a rockyou.txt e deixe o seu hardware adivinhar.

Se nem isso funcionar, o hash quase com certeza tem salt, é longo e aleatório, ou nunca foi MD5 puro, e nenhum processamento muda isso. Saber onde está o muro evita que você queime um dia em um hash que nunca ia cair.

Pratique essas técnicas na prática no lab Shadow Cracker da HackerDNA, onde você extrai hashes de senha de um sistema Linux ao vivo e os quebra no navegador. Faça o curso Password Cracking completo para lições guiadas sobre MD5, SHA-1, NTLM e formatos de arquivo shadow. Comece com o plano gratuito da HackerDNA, sem cartão de crédito.

HackerDNA Team

Equipe HackerDNA

Escrito pela equipe HackerDNA - profissionais de cibersegurança que criam labs práticos de hacking e conteúdo educativo para ajudar você a desenvolver habilidades reais em segurança.

Conhecer a Equipe

Pronto para colocar isso em prática?

Pare de ler, comece a hackear. Ganhe experiência prática com mais de 170 labs de cibersegurança reais.

Comece a Hackear Grátis
12.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis