Como usar MD5 e SHA-256
Ron Rivest criou o MD5 em 1991 no MIT — o mesmo Ron Rivest do R em RSA — como sucessor do MD4. A ideia central de uma função hash é transformar qualquer entrada em uma sequência de bits de tamanho fixo de forma determinística e irreversível: a mesma entrada sempre produz o mesmo hash, entradas diferentes produzem hashes completamente diferentes, e é computacionalmente inviável encontrar a entrada a partir da saída. Essa propriedade de sentido único é o que distingue um hash de uma cifra: não existe descriptografar, só calcular na frente. Paralelamente, a NSA desenvolveu a família SHA com o NIST — SHA-1 em 1993, SHA-2 com SHA-256 e SHA-512 em 2001 — como alternativas com saídas maiores e maior resistência a colisões.
A quebra do MD5 começou nos anos 90: Hans Dobbertin encontrou fraquezas internas em 1996. Em 2004, Wang Xiaoyun e sua equipe demonstraram a primeira colisão completa — dois inputs diferentes produzindo o mesmo hash de 128 bits. O ataque prático mais dramático veio em 2008: pesquisadores usaram colisões de MD5 para forjar um certificado de autoridade certificadora legítima, o que permitiria criar certificados HTTPS aceitos por todos os navegadores. Em 2012, o malware Flame usou técnica similar para se passar por atualização assinada da Microsoft. SHA-1 seguiu o mesmo caminho: o ataque SHAttered do Google em 2017 demonstrou a primeira colisão real de SHA-1 usando 110 anos-GPU de computação.
Hoje, MD5 e SHA-1 são considerados quebrados para fins criptográficos. MD5 ainda tem usos legítimos onde colisões intencionais não são ameaça — verificar integridade de um download contra checksum publicado pelo mesmo servidor, por exemplo. SHA-256 segue seguro: é o que o Bitcoin usa para minerar blocos, o que o Git usa nos commits desde a versão 2.29 e o que a maioria dos certificados TLS usa como base de assinatura. Um detalhe que confunde muita gente: SHA-256 não é adequado para armazenar senhas diretamente porque é rápido demais — uma GPU moderna testa bilhões de hashes por segundo. Para senhas, use bcrypt, scrypt ou Argon2, que são deliberadamente lentos e resistentes a aceleração por hardware.
Uso
Integridade de arquivo: comparar hash antes e depois do download.
Perguntas frequentes
Para que serve esta ferramenta?
Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.
Meus dados são enviados a algum servidor?
O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.
Posso usar em produção ou para dados reais?
Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.