Publicidade
Texto de entrada
MD5
SHA-1
SHA-256
Publicidade

Perguntas frequentes

O que é uma função hash?

Uma função hash é um algoritmo determinístico que transforma uma entrada de comprimento arbitrário em uma saída de comprimento fixo chamada de resumo ou hash. A mesma entrada sempre produz o mesmo hash, mas mesmo uma pequena mudança na entrada — como inverter um único bit — produz um hash completamente diferente. Essa propriedade, conhecida como efeito avalanche, torna as funções hash úteis para verificar a integridade dos dados: se você calcular o hash de um arquivo antes e depois da transferência e os hashes coincidirem, o arquivo chegou sem alterações.

MD5 vs SHA-1 vs SHA-256 — qual devo usar?

MD5 produz um resumo de 128 bits (32 caracteres hexadecimais) e é muito rápido, mas está criptograficamente comprometido — existem ataques de colisão que podem gerar duas entradas diferentes com o mesmo hash MD5. Não deve ser usado para fins de segurança, mas ainda é aceitável para checksums e identificações sem fins de segurança. SHA-1 produz um resumo de 160 bits (40 caracteres hexadecimais); também é considerado fraco para aplicações críticas de segurança desde 2017, quando o Google demonstrou uma colisão prática. SHA-256 faz parte da família SHA-2, produz um resumo de 256 bits (64 caracteres hexadecimais) e permanece seguro e amplamente recomendado para senhas (combinado com um salt), assinaturas digitais e verificação de integridade de dados.

Esses hashes são reversíveis?

Não. MD5, SHA-1 e SHA-256 são todos funções unidirecionais: dado um hash, não existe algoritmo matemático capaz de reconstruir a entrada original. Essa irreversibilidade é uma propriedade fundamental de design. O que atacantes podem fazer é tentar ataques de tabela rainbow (tabelas pré-computadas de pares hash→entrada) ou força bruta em todas as entradas possíveis e comparar. É por isso que senhas devem sempre ser processadas com um algoritmo lento e com salt, como bcrypt, scrypt ou Argon2, em vez de hashes rápidos de uso geral como SHA-256.