Pular para o conteúdo

Gerador de Hash MD5 Online - Ferramenta Gratuita de Criptografia MD5

Gere hashes MD5 instantaneamente com nossa ferramenta online gratuita. O processamento do lado do cliente garante privacidade. Perfeito para verificações de integridade de dados e verificação de arquivos.

Gerador de Hash MD5

Calculadora de carregamento...
📚

Documentação

O que é um gerador de hash MD5?

Um gerador de hash MD5 é uma ferramenta que transforma qualquer trecho de texto em um código de comprimento fixo chamado hash MD5. MD5 significa Message-Digest Algorithm 5, uma função de hash publicada em 1992. Inserir uma palavra, uma frase ou um arquivo inteiro sempre produz o mesmo resultado de 32 caracteres, e até mesmo uma pequena alteração na entrada produz um resultado completamente diferente. Essa ferramenta executa o algoritmo diretamente no navegador usando JavaScript, portanto o texto digitado nunca é enviado a um servidor.

Como funciona o hash MD5

MD5 é uma função unidirecional. Ela recebe uma entrada de qualquer comprimento e produz uma saída de tamanho fixo chamada hash ou resumo. “Unidirecional” significa que o processo não pode ser revertido: não existe um método para reconstruir o texto original apenas a partir do hash.

O algoritmo processa os dados nas seguintes etapas:

  1. A mensagem é convertida em bytes e preenchida para que seu comprimento seja múltiplo de 512 bits.
  2. Um campo de 64 bits que registra o comprimento da mensagem original é anexado.
  3. Quatro números de 32 bits são definidos com valores iniciais fixos.
  4. A mensagem preenchida é dividida em blocos de 512 bits. Cada bloco passa por quatro rodadas de 16 operações, totalizando 64 operações por bloco. Cada operação combina os dados do bloco nos quatro números em processamento usando funções bit a bit, adição e rotação de bits.
  5. Depois que cada bloco é processado, os quatro números de 32 bits são unidos e escritos como dígitos hexadecimais.

O resultado sempre tem 128 bits, exibidos como 32 caracteres hexadecimais (0-9 e a-f), porque cada byte da saída de 128 bits é escrito como dois dígitos hexadecimais.

Uma função de hash é considerada segura quando tem três propriedades: a mesma entrada sempre produz a mesma saída, é impraticável encontrar uma entrada que produza um hash escolhido e é impraticável encontrar duas entradas diferentes que produzam o mesmo hash. MD5 ainda tem a primeira propriedade, mas as outras duas foram quebradas, como explicado abaixo.

Exemplo de hash MD5

Aplicar hash à palavra “hello” com MD5 produz:

1Input:  hello
2Output: 5d41402abc4b2a76b9719d911017c592
3

Aplicar hash a uma string vazia também produz um resultado fixo e não vazio, porque o preenchimento e o campo de comprimento ainda passam pelo algoritmo:

1Input:  (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3

Alterar um único caractere, por exemplo, colocar a primeira letra em maiúscula, formando “Hello”, produz uma string de 32 caracteres totalmente diferente. Isso é chamado de efeito avalanche: pequenas alterações na entrada causam mudanças grandes e imprevisíveis na saída.

Como usar este gerador de hash MD5

  1. Digite ou cole o texto na caixa de entrada.
  2. O hash aparece automaticamente abaixo da caixa e é atualizado conforme o texto muda. Não é necessário pressionar um botão separado.
  3. Clique em “Copiar” para copiar o hash de 32 caracteres para a área de transferência.
  4. Uma pequena barra colorida aparece abaixo do resultado, gerada a partir de uma parte do hash, como verificação visual rápida de que dois hashes são diferentes.

Como o cálculo ocorre no próprio mecanismo JavaScript do navegador, a página não precisa de conexão com a internet depois de carregada, e o texto digitado não é transmitido para lugar algum.

Usos comuns dos hashes MD5

  • Verificar se um arquivo baixado não foi corrompido durante a transferência, comparando seu hash com um valor publicado.
  • Criar chaves de consulta ou identificadores de cache para dados, pois um hash é um substituto curto e de tamanho fixo para um valor mais longo.
  • Detectar arquivos duplicados comparando hashes em vez do conteúdo completo dos arquivos.
  • Controle de versão e sistemas de compilação, que usam hashes para detectar se um arquivo foi alterado.

MD5 não é adequado para armazenar senhas, gerar assinaturas digitais ou qualquer outro caso em que um invasor possa tentar falsificar ou reverter o hash. Os motivos são explicados na próxima seção.

História do MD5

Ronald Rivest, um criptógrafo americano, projetou o MD5 em 1991 como sucessor de seu algoritmo anterior, o MD4. A Internet Engineering Task Force publicou a especificação como RFC 1321 em (3.360 cm) 1992, e o MD5 passou a ser amplamente usado para somas de verificação e, por algum tempo, para fins de segurança.

As fragilidades na estrutura interna do MD5 foram observadas já em 1996. Em 2004, uma equipe liderada pela criptógrafa Xiaoyun Wang demonstrou um método prático para criar duas entradas diferentes que produzem o mesmo hash MD5, uma falha chamada colisão. Em 2008, outro grupo de pesquisadores usou um ataque de colisão para falsificar um certificado de segurança de site que os navegadores da época teriam aceitado como genuíno. Esses resultados levaram os órgãos de padronização de segurança a deixar de recomendar o MD5 em qualquer situação em que a falsificação seja relevante.

Fragilidades de segurança do MD5

  • A resistência a colisões foi quebrada. É computacionalmente viável construir duas entradas diferentes com o mesmo hash MD5.
  • A velocidade é prejudicial para senhas. O MD5 foi projetado para calcular rapidamente, o que é útil para somas de verificação, mas ruim para o armazenamento de senhas, pois permite que um invasor tente bilhões de combinações por segundo em hardware comum.
  • Não se conhece publicamente nenhum ataque de pré-imagem mais rápido que a força bruta, portanto ainda é difícil recuperar uma entrada exata a partir de um hash, mas isso, por si só, não torna o MD5 adequado para usos sensíveis à segurança.

Por causa desses problemas, o MD5 é inadequado para armazenamento de senhas, assinaturas digitais, certificados SSL/TLS ou qualquer aplicação em que alguém possa tentar deliberadamente produzir um hash correspondente.

Alternativas ao MD5

  • SHA-256, parte da família SHA-2, produz um hash de 256 bits e não tem nenhum ataque de colisão prático conhecido.
  • SHA-3, um padrão mais recente baseado em um projeto interno diferente do SHA-2.
  • BLAKE2, uma função de hash rápida, com segurança considerada comparável à do SHA-3.
  • Bcrypt, scrypt ou Argon2, projetados especificamente para o armazenamento de senhas, pois são deliberadamente lentos e resistentes a tentativas de adivinhação aceleradas por hardware.

Dúvidas frequentes

Para que o MD5 é usado atualmente?

Principalmente para tarefas que não envolvem segurança, como verificações de integridade de arquivos, deduplicação e chaves de cache. Ele não é mais recomendado para senhas, assinaturas ou certificados.

É possível reverter um hash MD5 para obter o texto original?

Não. MD5 é uma função unidirecional, portanto não existe um cálculo que transforme um hash de volta em sua entrada. Um invasor ainda pode adivinhar entradas prováveis e aplicar hash a cada uma para verificar se há correspondência, e é por isso que MD5 não é seguro para senhas.

Por que o MD5 não é seguro para armazenar senhas?

Como calcula muito rapidamente, um invasor com hardware moderno pode testar uma quantidade enorme de senhas por segundo. Algoritmos desenvolvidos especificamente para esse fim, como bcrypt, scrypt ou Argon2, são deliberadamente lentos para resistir a isso.

Qual é o comprimento de um hash MD5?

Sempre 128 bits, exibidos como 32 caracteres hexadecimais, independentemente de o texto de entrada ser longo ou curto.

Duas entradas diferentes podem produzir o mesmo hash MD5?

Sim. Isso é chamado de colisão, e pesquisadores demonstraram métodos práticos para construir esses pares desde 2004. Essa é a principal razão pela qual MD5 não é mais considerado seguro.

Esta ferramenta envia o texto digitado para um servidor?

Não. O hash é calculado pelo JavaScript executado no navegador, e a entrada nunca sai do dispositivo.

Qual é a diferença entre MD5 e SHA-256?

Ambos são funções de hash, mas SHA-256 produz um hash mais longo, de 256 bits, e não tem nenhum ataque de colisão prático conhecido, enquanto a resistência a colisões do MD5 foi quebrada. SHA-256 é a melhor escolha sempre que a segurança for importante.

Referências

  1. Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, Internet Engineering Task Force. https://tools.ietf.org/html/rfc1321
  2. Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, Internet Engineering Task Force. https://tools.ietf.org/html/rfc6151
  3. Wang, X., Yu, H. (2005). “How to Break MD5 and Other Hash Functions.” Advances in Cryptology - EUROCRYPT 2005.
  4. Sotirov, A. et al. (2008). “MD5 Considered Harmful Today: Creating a Rogue CA Certificate.” Apresentado no 25º Chaos Communication Congress.
  5. National Institute of Standards and Technology (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf