Gerador de hash MD4
Gere o hash MD4 de qualquer texto na hora, direto no navegador. Entrada em UTF-8, hex ou Base64; saída em hex ou Base64. Grátis, privado e sem upload.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
O que é Gerador de hash MD4?
O MD4 é uma função de hash de 128 bits criada por Ron Rivest (RFC 1320, 1990) e ancestral direta do MD5, do SHA-1 e do RIPEMD. Esta ferramenta calcula o resumo MD4 de 128 bits de um texto ou de bytes brutos (hex ou Base64) enquanto você digita e o exibe como 32 caracteres hexadecimais ou em Base64.
Como usar Gerador de hash MD4
- Digite ou cole sua entrada em Texto para gerar o hash — o resumo é atualizado enquanto você digita (com a caixa vazia aparece o hash de uma entrada vazia).
- Escolha a Codificação de entrada: Texto (UTF-8) gera o hash dos caracteres em UTF-8; Bytes em hexadecimal ou Base64 geram o hash dos bytes brutos decodificados.
- Escolha o Formato de saída (hexadecimal em minúsculas, em maiúsculas ou Base64) e clique em Copiar.
Exemplo
abc
a448017aaf21d8525fc10ae87aa6729d
MD4 dos 3 bytes ASCII "abc" (UTF-8, saída em hex minúsculo), o vetor de teste padrão.
Quando usar Gerador de hash MD4
Use a ferramenta de texto MD4 para gerar hashes de strings: reproduzir um valor de uma documentação ou de um código, montar vetores de teste, comparar a entrada de uma assinatura de API ou conferir o que um programa deveria produzir. Não a use para proteger nada contra atacantes — o MD4 está quebrado criptograficamente. Também não a use para conferir um arquivo baixado: copiar o conteúdo do arquivo para uma caixa de texto altera as quebras de linha e a codificação; para isso, use a ferramenta de checksum MD4 de arquivos. Use SHA-256 para novas verificações de integridade.
Como funciona Gerador de hash MD4
O MD4 completa a mensagem com um bit 1, zeros e o tamanho da mensagem em 64 bits little-endian até um múltiplo de 512 bits, e então passa cada bloco de 512 bits por três rodadas de 16 operações sobre quatro palavras de 32 bits, usando as funções não lineares F, G e H, somas e rotações à esquerda. As quatro palavras finais, em little-endian, formam o resumo de 128 bits. O texto é primeiro convertido em bytes (UTF-8 por padrão), então os mesmos caracteres sempre geram o mesmo hash.
Casos de Uso Comuns
- Conferir o MD4 esperado de uma string em um teste unitário ou fixture
- Gerar o hash de bytes hex copiados de um depurador, de uma captura de pacotes ou de uma especificação de protocolo
- Comparar a saída MD4 entre duas linguagens de programação que dão resultados diferentes
- Gerar identificadores determinísticos ou chaves de cache a partir de texto
- Reproduzir valores MD4 legados armazenados por um sistema antigo
Nota de Segurança
O MD4 está completamente quebrado. Colisões podem ser encontradas com um cálculo quase manual, e ele ainda é o núcleo do hash de senha NTLM, por isso hashes NTLM são quebrados com tanta facilidade. Use-o apenas por compatibilidade (por exemplo links eDonkey/ed2k, pesquisa sobre NTLM); nunca para segurança. Hashes simples também não servem para armazenar senhas: use um hash de senha lento e com salt, como Argon2, scrypt ou bcrypt. Tudo é calculado localmente no seu navegador; nada do que você digita é enviado.
Perguntas Frequentes
Onde o MD4 ainda é usado?
O hash de senha do Windows NT/NTLM é o MD4 da senha em UTF-16LE, e os links de arquivos ed2k (eDonkey) são montados a partir de hashes MD4 de blocos do arquivo. Esta ferramenta calcula o MD4 puro; o NTLM é o MD4 dos bytes em UTF-16LE, então você teria de informar a senha em hex no formato UTF-16LE.
Por que meu sistema não aceita MD4?
O OpenSSL 3 moveu o MD4 para o provider legado, então openssl md4 ou crypto.createHash("md4") no Node.js podem falhar por padrão. Esta ferramenta implementa o MD4 no navegador (hash-wasm), então funciona de qualquer forma.
Por que o hash muda completamente quando altero um único caractere?
É o efeito avalanche que todo hash criptográfico busca: inverter um bit da entrada altera cerca de metade dos 128 bits de saída, então entradas parecidas geram resumos sem nenhuma relação.
Um espaço ou uma quebra de linha no final faz diferença?
Sim. O hash cobre cada byte, então abc e abc seguido de uma quebra de linha geram valores MD4 diferentes. Garanta que a entrada contenha exatamente os bytes que você quer usar.