Gerador de hashes
Gere hashes SHA-1, SHA-256, SHA-384 e SHA-512.
O que são funções de hash criptográfico?
Uma função de hash criptográfico transforma qualquer entrada de dados (texto, ficheiro, binário) num valor de tamanho fixo — o "digest" ou hash. As propriedades essenciais são: determinismo (a mesma entrada produz sempre o mesmo hash), efeito avalanche (uma mudança mínima na entrada altera completamente o hash), e resistência a inversão (é computacionalmente inviável recuperar a entrada original a partir do hash).
Esta ferramenta usa a Web Crypto API nativa do browser — a mesma API usada em criptografia de nível profissional — para gerar hashes SHA-1, SHA-256, SHA-384 e SHA-512 diretamente no seu dispositivo, sem enviar dados para servidores.
Algoritmos SHA disponíveis
SHA-1 (160 bits / 40 hex)
Obsoleto para uso de segurança. Vulnerável a ataques de colisão (SHAttered, 2017). Ainda encontrado em sistemas legados, Git e algumas assinaturas. Evite para novas aplicações.
SHA-256 (256 bits / 64 hex)
O standard atual para a maioria das aplicações de segurança. Usado em TLS, SSL, Bitcoin, DNSSEC, assinaturas de código e certificados modernos. Excelente equilíbrio segurança/performance.
SHA-384 (384 bits / 96 hex)
Versão truncada do SHA-512. Ligeiramente mais lento que o SHA-256 mas com maior margem de segurança. Usado em certificados TLS de alta segurança e aplicações governamentais.
SHA-512 (512 bits / 128 hex)
Máxima segurança da família SHA-2. Preferido para armazenamento de passwords (combinado com salt) e assinaturas de documentos onde a Performance não é crítica.
Casos de uso de hashes criptográficos
- Verificação de integridade de ficheiros: compare o hash SHA-256 de um ficheiro descarregado com o hash oficial para confirmar que não foi alterado ou corrompido.
- Armazenamento seguro de passwords: as passwords nunca devem ser guardadas em texto simples — use SHA-256/SHA-512 com salt. Para passwords em bases de dados, prefira bcrypt ou Argon2 que são mais resistentes a ataques de GPU.
- Assinaturas digitais: o hash do documento é assinado digitalmente em vez do documento inteiro, tornando o processo eficiente independentemente do tamanho do ficheiro.
- Cache busting em web apps: adicione o hash do ficheiro CSS/JS ao nome do ficheiro para garantir que os browsers carregam a versão mais recente após cada deploy.
- ETags HTTP: hashes são usados como ETags para validação de cache eficiente — o servidor só envia o ficheiro completo se o hash mudou.
Perguntas frequentes sobre hash
SHA vs bcrypt/Argon2 — qual usar para passwords?
Para armazenamento de passwords em bases de dados, use sempre bcrypt, scrypt ou Argon2 — algoritmos deliberadamente lentos com salt incorporado, projetados especificamente para resistir a ataques de GPU. SHA puro é demasiado rápido e vulnerável para este fim.
É possível reverter ("quebrar") um hash SHA-256?
Matematicamente é considerado inviável para entradas de alta entropia. No entanto, para entradas previsíveis (passwords comuns, datas), ataques de rainbow table ou dicionário são possíveis. Por isso o salt é essencial ao usar hashes para passwords.
Dois ficheiros diferentes podem ter o mesmo hash?
Teoricamente sim (colisão hash), mas na prática é computacionalmente inviável para SHA-256 e superior. O SHA-1 tem colisões conhecidas documentadas. Para segurança, use sempre SHA-256 ou superior.
Como verificar a integridade de um download?
Após o download, gere o hash SHA-256 do ficheiro e compare com o hash publicado no site oficial. Em Linux/macOS use 'sha256sum ficheiro'. No Windows use 'Get-FileHash ficheiro -Algorithm SHA256' no PowerShell.
