| Algoritmo | Hash | |
|---|---|---|
| SHA-1 | – | |
| SHA-256 | – | |
| SHA-512 | – |
Como usar o gerador de hash
- Escreva ou cole o texto que pretende hashear na caixa de entrada.
- Clique em Gerar hashes para calcular SHA-1, SHA-256 e SHA-512 simultaneamente.
- Clique em Copiar junto a um algoritmo para copiar o hash para a área de transferência.
O que é um hash criptográfico?
Uma função de hash criptográfico recebe qualquer entrada e produz uma saída de comprimento fixo e determinístico. Propriedades principais:
- Determinístico: a mesma entrada produz sempre o mesmo hash
- Unidirecional: não é possível recuperar o texto original a partir de um hash
- Efeito avalanche: alterar apenas um caractere produz um hash completamente diferente
- Comprimento fixo: independentemente do tamanho da entrada, a saída tem sempre o mesmo comprimento para um algoritmo dado
SHA-1 vs SHA-256 vs SHA-512
SHA-1 produz um resumo de 160 bits (40 caracteres hexadecimais). Não é mais considerado criptograficamente seguro, ataques de colisão foram demonstrados. Não use SHA-1 para assinaturas digitais, certificados ou armazenamento de senhas.
SHA-256 produz um resumo de 256 bits (64 caracteres hexadecimais). Pertence à família SHA-2 e é o padrão atual para a maioria das aplicações de segurança: certificados TLS, assinatura de código, Bitcoin, HMAC.
SHA-512 produz um resumo de 512 bits (128 caracteres hexadecimais). Oferece maior margem de segurança e é mais rápido que SHA-256 em processadores de 64 bits.
Casos de uso comuns
- Integridade de arquivos: verificar que um arquivo baixado não foi adulterado comparando seu hash com o publicado pelo provedor
- Armazenamento de senhas: sistemas armazenam o hash de uma senha, nunca a senha em si
- Deduplicação: identificar arquivos duplicados por seu hash
- Autenticação de API: HMAC usa SHA-256 para assinar requisições de API
- Checksums: comparar hashes para verificar que arquivos de configuração ou backups são idênticos
Privacidade
Todo o hashing usa a API Web Crypto nativa do navegador. Nenhum texto é enviado a qualquer servidor.
SHA-256 é incorreto para passwords, use Argon2 ou bcrypt
Um erro frequente é usar SHA-256 para fazer hash de passwords. O SHA e as suas variantes foram concebidos para ser rápidos, conseguem calcular milhares de milhões de hashes por segundo numa GPU. Isso torna-os inúteis para o armazenamento de passwords, onde se quer que o hashing seja lento.
Para passwords, use um algoritmo dedicado e deliberadamente lento:
- Argon2id: Vencedor do Password Hashing Competition (2015). Recomendado pela ENISA, NIST SP 800-63B e OWASP. Intensivo em memória, resistente a ataques GPU e ASIC.
- bcrypt: Amplamente suportado, fator de custo ajustável. Ainda adequado para a maioria das aplicacoes.
- scrypt: Intensivo em memória, usado em alguns sistemas Linux e carteiras de criptomoedas.
A ENISA e as boas práticas europeias de cibersegurança recomendam Argon2id para o armazenamento de passwords em novos sistemas. O SHA-2 (incluindo SHA-256) é explicitamente inadequado para este fim.