Lição 3

MD5 e algoritmos SHA

Compare MD5, SHA-1 e a família SHA-2 no trabalho real.

Algoritmos de hash produzem digests de tamanhos e margens de segurança diferentes. Escolher o errado quebra interoperabilidade ou cria falsa sensação de segurança.

MD5 (128 bits)

MD5 é rápido e ainda aparece em checksums legados, chaves de cache e ferramentas antigas. Não é adequado para designs novos sensíveis a segurança — ataques de colisão são práticos. Use MD5 para compatibilidade e inspeção, não para provar integridade forte contra atacantes motivados.

SHA-1 (160 bits)

SHA-1 é em grande parte legado. Git ainda usa formato de ID de objeto baseado em SHA-1, mas muitas plataformas migraram SHA-1 em certificados TLS e assinaturas. Trate SHA-1 como MD5: útil quando a spec exige, fraco para garantias novas.

SHA-256, SHA-384, SHA-512 (família SHA-2)

Defaults modernos comuns:

  • SHA-256: checksum de arquivo, endereçamento de conteúdo, muitas APIs
  • SHA-384 / SHA-512: variantes exigidas por alguns padrões e plataformas

Os três têm amplo suporte em navegadores via Web Crypto API.

Guia prático de escolha

  • Verificar checksum moderno de download → SHA-256
  • Bater com ferramenta de terceiros que ainda imprime MD5 → MD5
  • Atender documento de compliance que cita SHA-512 → SHA-512
  • Armazenar senhas → nenhum destes sozinho; use Argon2, bcrypt ou scrypt

Antes de comparar resultados, confirme nome do algoritmo, saída hex vs Base64 e se o hash cobre bytes brutos ou texto UTF-8.

Voltar à visão geral do curso