Gerador de Hash

Gere hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de texto instantaneamente.

Digite texto para fazer hash
Hash MD5
O hash aparecerá aqui após digitar texto
Hash SHA-1
O hash aparecerá aqui após digitar texto
Hash SHA-256
O hash aparecerá aqui após digitar texto
Hash SHA-384
O hash aparecerá aqui após digitar texto
Hash SHA-512
O hash aparecerá aqui após digitar texto

O que é uma Função Hash?

Uma função hash é um algoritmo matemático que toma uma entrada (ou 'mensagem') e retorna uma string de bytes de tamanho fixo. A saída, chamada valor hash ou digest, é tipicamente uma string hexadecimal que parece aleatória mas é determinística—a mesma entrada sempre produz o mesmo hash.

Funções hash são funções unidirecionais, significando que você não pode reverter o processo para obter a entrada original do hash. Isso as torna ideais para aplicações de segurança como armazenamento de senhas e verificação de integridade de dados.

Dada a mesma entrada, uma função hash sempre produzirá a mesma saída. Esta propriedade é essencial para verificar integridade de dados e detectar mudanças em arquivos ou mensagens.

Tipos de Algoritmos Hash

Diferentes algoritmos hash oferecem diferentes níveis de segurança e tamanhos de saída:

MD5

MD5 (Message Digest 5) produz um hash de 128 bits (16 bytes), tipicamente exibido como 32 caracteres hexadecimais. Embora rápido, MD5 está criptograficamente quebrado e não deve ser usado para propósitos de segurança. Ainda é útil para checksums e aplicações não relacionadas à segurança.

SHA-1

SHA-1 (Secure Hash Algorithm 1) produz um hash de 160 bits (20 bytes), exibido como 40 caracteres hexadecimais. SHA-1 também é considerado criptograficamente quebrado e deprecado para uso de segurança, mas ainda usado em sistemas legados.

SHA-256

SHA-256 (parte da família SHA-2) produz um hash de 256 bits (32 bytes), exibido como 64 caracteres hexadecimais. É amplamente usado e considerado seguro para a maioria das aplicações, incluindo tecnologia blockchain e assinaturas digitais.

SHA-384

SHA-384 (parte da família SHA-2) produz um hash de 384 bits (48 bytes), exibido como 96 caracteres hexadecimais. Oferece maior segurança do que SHA-256 e é usado em aplicações que requerem garantias criptográficas mais fortes.

SHA-512

SHA-512 (parte da família SHA-2) produz um hash de 512 bits (64 bytes), exibido como 128 caracteres hexadecimais. É a variante mais forte de SHA-2 e é usada em aplicações de alta segurança.

Usos Comuns de Funções Hash

Funções hash são usadas em muitas aplicações na computação:

  • Verificação de integridade de arquivos: Verifique que arquivos não foram corrompidos durante download ou transferência comparando valores hash
  • Armazenamento de senhas: Armazene hashes de senhas em vez de senhas em texto plano. Quando um usuário faz login, faça hash de sua entrada e compare com o hash armazenado
  • Integridade de dados: Garanta que dados não foram alterados armazenando e comparando valores hash
  • Assinaturas digitais: Faça hash da mensagem, então criptografe o hash com uma chave privada para criar uma assinatura
  • Tecnologia blockchain: Bitcoin e outras criptomoedas usam SHA-256 para vincular blocos e criar a estrutura blockchain

Considerações de Segurança Hash

Nem todas as funções hash são adequadas para aplicações de segurança:

  • MD5 está criptograficamente quebrado e vulnerável a ataques de colisão. Nunca use MD5 para hashing de senhas ou aplicações sensíveis à segurança.
  • SHA-1 também é considerado quebrado e deprecado. Evite usar SHA-1 para novas aplicações de segurança.
  • SHA-256 e SHA-512 atualmente são considerados seguros e são recomendados para aplicações de segurança. São amplamente usados em sistemas modernos.
  • Para hashing de senhas, sempre use hashes com sal (adicione dados aleatórios antes de fazer hash) e use algoritmos especializados como bcrypt, Argon2 ou PBKDF2 em vez de funções hash brutas.

Colisões Hash

Uma colisão hash ocorre quando duas entradas diferentes produzem a mesma saída hash. Embora teoricamente possível com qualquer função hash, algoritmos seguros tornam colisões computacionalmente inviáveis.

Colisões MD5 podem ser encontradas relativamente facilmente, por isso é considerado quebrado. Pesquisadores demonstraram colisões MD5 em minutos usando hardware moderno.

Colisões SHA-256 atualmente são computacionalmente inviáveis. Encontrar uma colisão exigiria mais poder computacional do que existe na Terra, tornando-o seguro para propósitos práticos.