Hash MD5
Ferramenta de hash MD5 online gratuita. Modos texto/arquivo/lote/HMAC-MD5, UTF-8/Latin1, maiúsculas, agrupamento de 8 caracteres. ⚠️ MD5 está quebrado — NÃO use para armazenar senhas.
Sugestões Relacionadas
O que é MD5?
MD5 (Message-Digest Algorithm 5) é uma função hash de 128 bits projetada por Ronald Rivest em 1991 (RFC 1321), produzindo um resumo hexadecimal fixo de 32 caracteres a partir de entrada arbitrária. Amplamente usado para assinaturas digitais, verificação de certificados e armazenamento de senhas, MD5 foi quebrado pelo ataque de colisão de Wang et al. em 2004, e o malware Flame explorou colisões MD5 para falsificar um certificado CA confiável em 2008.
**Status de segurança**: NIST depreciou formalmente MD5 para assinaturas digitais no SP 800-131A (2011). No entanto, MD5 permanece útil para cenários não relacionados à segurança: verificações de integridade de arquivos contra corrupção acidental, deduplicação de dados e chaves de cache. A pergunta chave: um atacante se beneficiaria de criar uma colisão? Se não, a velocidade do MD5 é uma vantagem.
**Nunca use MD5 para armazenamento de senhas**: MD5 é extremamente rápido (bilhões de hashes/segundo em GPU), permitindo força bruta instantânea em senhas comuns. Armazenamento de senhas DEVE usar bcrypt, scrypt ou Argon2 — hashes lentos com fatores de custo configuráveis que tornam a força bruta inviável.
**HMAC-MD5 ainda é seguro**: embora o MD5 simples esteja quebrado, HMAC-MD5 (código de autenticação de mensagem hash com chave) permanece seguro quando a chave é desconhecida porque a construção HMAC não depende diretamente da resistência a colisões do hash. Migração para HMAC-SHA256 ainda é recomendada.
A ferramenta usa uma implementação MD5 em JavaScript puro (a API Web Crypto não suporta mais MD5). Todo o cálculo ocorre localmente no seu navegador — arquivos usam leitura incremental fragmentada e nunca são carregados para servidores.
Casos de uso
- Integridade de arquivos: calcule MD5 após download para verificar contra somas de verificação oficiais
- Geração de resumos em lote para arquivos de configuração ou notas de versão
- Assinatura HMAC-MD5 para integração com sistemas legados
- Deduplicação de dados via comparação rápida MD5
- Geração de chaves de cache como identificadores únicos curtos
- Aprendizado: entenda algoritmos hash comparando saídas MD5/SHA-1/SHA-256
Como Usar
- Selecione o modo: Texto, Arquivo, Lote ou HMAC-MD5
- Configure parâmetros: codificação, maiúsculas, agrupamento de 8 caracteres
- Digite texto, carregue arquivo ou cole conteúdo em lote
- Copie o resultado hash para verificação ou scripts
Recursos
- Quatro modos: Texto, Arquivo, Lote linha por linha e HMAC-MD5 cobrindo cenários comuns de soma de verificação
- Codificação UTF-8/Latin1 selecionável para combinar com entradas de diferentes sistemas
- Saída em maiúsculas e agrupamento de 8 caracteres para legibilidade humana
- Hashing fragmentado de arquivos: leitura incremental para arquivos grandes evita problemas de memória
- Modo lote: cada linha é hasheada independentemente com saída original→hash
- Cópia de resultados com um clique
Exemplos de Código
MD5/Hashing in JavaScript (Web Crypto supports SHA, MD5 needs library)
// Note: Web Crypto API does NOT support MD5 (deprecated)
// Use SHA-256 instead for new projects
async function sha256(message) {
const msgBuffer = new TextEncoder().encode(message);
const hashBuffer = await crypto.subtle.digest('SHA-256', msgBuffer);
return Array.from(new Uint8Array(hashBuffer)).map(b => b.toString(16).padStart(2,'0')).join('');
}
sha256('Hello World').then(console.log);
// MD5 in Node.js using crypto module
const crypto = require('crypto');
const md5 = crypto.createHash('md5').update('Hello World').digest('hex');
console.log(md5); // b10a8db164e0754105b7a99be72e3fe5MD5 Hashing in Python
import hashlib
text = 'Hello World'
md5_hash = hashlib.md5(text.encode('utf-8')).hexdigest()
print(md5_hash) # b10a8db164e0754105b7a99be72e3fe5
# File MD5 (chunked for large files)
def md5_file(filepath, chunk_size=8192):
md5 = hashlib.md5()
with open(filepath, 'rb') as f:
while chunk := f.read(chunk_size):
md5.update(chunk)
return md5.hexdigest()
# HMAC-MD5
import hmac
hmac_md5 = hmac.new(b'secret-key', b'Hello World', hashlib.md5).hexdigest()
print(hmac_md5)MD5 Hashing in Java
import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
public class MD5Example {
public static String md5(String input) throws Exception {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] hash = md.digest(input.getBytes(StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
for (byte b : hash) sb.append(String.format("%02x", b));
return sb.toString();
}
public static void main(String[] args) throws Exception {
System.out.println(md5("Hello World"));
// b10a8db164e0754105b7a99be72e3fe5
}
}
// Note: Use SHA-256 for new code: MessageDigest.getInstance("SHA-256")Perguntas frequentes
Para que o MD5 é comumente usado?
MD5 é comumente usado para verificação de integridade de arquivos (como verificar downloads), geração rápida de resumos, compatibilidade com sistemas legados, chaves de cache e deduplicação de dados em cenários não relacionados à segurança. MD5 produz 128 bits (32 caracteres hexadecimais) e é muito rápido, adequado para cenários de verificação com baixos requisitos de segurança.
MD5 vs SHA-256?
MD5 produz 128 bits (32 hex) e é muito rápido mas quebrado; SHA-256 produz 256 bits (64 hex), é mais lento mas não tem ataques de colisão práticos e é preferido para usos críticos de segurança.
Ferramenta SHA-256Por que o MD5 não é seguro para senhas?
MD5 é extremamente rápido — GPUs modernas podem calcular bilhões de hashes por segundo, e rainbow tables quebram senhas comuns rapidamente. Para armazenamento de senhas use bcrypt, scrypt ou Argon2.
Gerador de SenhasMD5 está quebrado — ainda posso usá-lo?
Absolutamente NÃO para segurança (assinaturas digitais, senhas, TLS). Mas para usos não seguros (verificação de corrupção de arquivos, deduplicação, chaves de cache), MD5 ainda é aceitável porque atacantes não têm incentivo para criar colisões.
Hashes MD5 podem ser "descriptografados"?
MD5 é unidirecional e não pode ser revertido matematicamente, mas rainbow tables e força bruta podem recuperar senhas fracas em segundos. É por isso que MD5 nunca deve ser usado para armazenar senhas.
Arquivos grandes causarão travamentos?
Não. A ferramenta usa leitura incremental fragmentada — arquivos não são carregados completamente na memória, então mesmo arquivos de vários GB são processados sem problemas com uma interface responsiva.
O que é HMAC-MD5 vs MD5 simples?
HMAC-MD5 é um hash com chave que requer uma chave secreta. Embora o MD5 simples esteja quebrado, HMAC-MD5 ainda é seguro quando a chave é desconhecida (embora a migração para HMAC-SHA256 seja recomendada).
Gerador HMACGlossário
- Função Hash (Hash Function)
- Uma função matemática que mapeia entradas de comprimento arbitrário para saídas de comprimento fixo. Boas funções hash fornecem unidirecionalidade, resistência a colisões e efeito avalanche.
- Ataque de Colisão (Collision Attack)
- Encontrar duas entradas distintas que produzem a mesma saída hash. Colisões MD5 foram demonstradas por Wang et al. em 2004, permitindo falsificar assinaturas digitais.
- Ataque de Pré-imagem (Preimage Attack)
- Encontrar uma entrada que produza uma saída hash determinada. Mais difícil que colisões, mas nova pesquisa de 2024 enfraqueceu significativamente a resistência a pré-imagem do MD5.
- Tabela Arco-Íris (Rainbow Table)
- Tabelas de consulta hash→texto simples pré-calculadas para quebrar rapidamente hashes de senhas fracas. Salgar derrota tabelas arco-íris.
- HMAC (Hash-based Message Authentication Code)
- Código de autenticação de mensagem baseado em hash usando uma chave secreta para integridade/autenticação de mensagens. HMAC-MD5 e HMAC-SHA256 são variantes comuns.Gerador HMAC
- bcrypt
- Um algoritmo de hash de senhas lento com sal incorporado e fator de custo configurável, tornando ataques de força bruta proibitivamente caros.
- Soma de Verificação (Checksum)
- Um pequeno valor fixo usado para verificar a integridade dos dados. MD5, SHA-1, SHA-256 são comumente usados como somas de verificação para detectar corrupção na transmissão.
- Efeito Avalanche (Avalanche Effect)
- Uma pequena mudança de entrada (até 1 bit) causa uma mudança drástica e imprevisível no hash de saída. MD5 ainda tem boas propriedades de avalanche, contribuindo para sua utilidade contínua em verificações não seguras.
- RFC 1321
- O padrão oficial MD5 submetido ao IETF por Ronald Rivest em 1992, descrevendo os passos do algoritmo e vetores de teste.
- Hashing Fragmentado (Chunked Hashing)
- Processar arquivos grandes em blocos em vez de carregar o arquivo inteiro na memória, atualizando incrementalmente o estado do hash.
Comparação de algoritmos de hash comuns
| Algoritmo | Bits de saída | Comprimento Hex | Segurança | Velocidade | Uso recomendado |
|---|---|---|---|---|---|
MD5 | 128 bits | 32 caracteres | ❌ Quebrado (colisões/pré-imagem) | Extrema | Somas de verificação de arquivos, deduplicação, chaves de cache |
SHA-1 | 160 bits | 40 caracteres | ❌ Colisões (2017) | Rápido | Git, compatibilidade com sistemas legados |
SHA-256 | 256 bits | 64 caracteres | ✅ Seguro | Médio | Assinaturas digitais, certificados, blockchain |
SHA-512 | 512 bits | 128 caracteres | ✅ Seguro | Rápido (64 bits) | Cenários de alta segurança, derivação de chaves |
bcrypt | - | 60 caracteres | ✅ Especializado para senhas | Lento (configurável) | Armazenamento de senhas |
Linha do tempo de eventos de segurança MD5
| Ano | Evento | Impacto |
|---|---|---|
1991 | Ron Rivest projeta MD5 (RFC 1321) | Substitui o MD4 e se torna o algoritmo de hash principal |
1996 | Primeira falha de pseudo-colisão descoberta no MD5 | Comunidade acadêmica começa a questionar a segurança do MD5 |
2004 | Equipe de Wang Xiaoyun demonstra ataque de colisão MD5 | Segurança de assinaturas digitais MD5 completamente quebrada |
2008 | Malware Flame falsifica certificados CA via colisão MD5 | NIST deprecia oficialmente MD5 para assinaturas digitais |
2011 | NIST SP 800-131A proíbe oficialmente MD5 para usos de segurança | Sistemas do governo dos EUA eliminam gradualmente o MD5 |
2024 | Novo artigo sobre ataque de pré-imagem publicado | Última linha de defesa do MD5 (resistência a pré-imagem) é quebrada |
Authoritative References
- Comparação Segura de Strings
- Conversão Binária
- Cifra de César
- Código Morse
- Codificação/Decodificação Hexadecimal
- Vídeo para Base64
- Base64 para Vídeo
- Imagem para Base64
- Base64 para Imagem
- Texto para Base64
- Base64 para Texto
- Verificador de hash de arquivo
- Arquivo para Base64
- Base64 para Arquivo
- Áudio para Base64
- Base64 para Áudio
- Criptografar e descriptografar AES
- Criptografia DES
- Codificador e Decodificador Base32
- Codificar e decodificar Base58
- Codificação Base64
- Decodificação Base64
- Comparação Base64
- Dividir Base64
- Mesclar Base64 em várias linhas
- Formatação Base64
- Verificação de Formato Base64
- Codificação Base64 em lote
- Decodificação Base64 em Lote
- Limpeza de Base64
- Preenchimento Base64
- Estatísticas Base64
- Base64 para Hexadecimal
- Conversor Base64 DataURL
- Conversor Base64-Hex
- Codificador Base85
- Gerador e Verificador HMAC
- Derivação de Chave PBKDF2
- Hash MD5
- Hash SHA-256
- Hash SHA1
- Hash SHA512
- Ferramenta JWT
- Codificação e Decodificação HTML
- Escape Unicode
- Codificação URL
- Base64 URL Safe
- MIME Base64
- Ofuscador Java
- Ofuscador JS
- Ofuscador PHP
- Ofuscação Python