O que esta ferramenta faz
Calcula o hash SHA-512 de qualquer texto ou ficheiro no teu navegador, devolvendo um digest hexadecimal de 128 caracteres. O SHA-512 faz parte da família SHA-2 (FIPS 180-4), desenhado pela NSA e publicado em 2001 ao lado do SHA-256. Produz uma saída de 512 bits e opera em palavras de 64 bits, o que lhe dá uma vantagem de velocidade significativa sobre o SHA-256 em CPUs de 64 bits ao fazer hash de grandes quantidades de dados.
Quando o SHA-512 é a escolha certa
- Assinaturas de alta segurança. Alguns regimes de compliance (NIST SP 800-131A com força elevada, certos casos de uso governamentais) preferem ou exigem digests ≥384 bits. O SHA-512 satisfaz isso.
- Integridade de ficheiros grandes. Em hardware de 64 bits, o SHA-512 é tipicamente 1,3–1,6× mais rápido que o SHA-256 para inputs de vários gigabytes. O tamanho extra do digest não dói; o débito ajuda.
- Esquemas de hash de palavra-passe que usam internamente SHA-512. O formato
$6$docrypt(3)é baseado em SHA-512. Nota: esse esquema não é substituto para bcrypt/Argon2 — só é lento por causa da contagem de iterações, não da primitiva. - HMAC-SHA-512 para autenticação de mensagens em que a saída maior reduz preocupações com o limite de aniversário a nível da construção de chaveamento.
- Hashes truncados via SHA-512/256 ou SHA-512/224. Quando queres saída do tamanho de SHA-256 mas a velocidade do SHA-512 em hardware de 64 bits, as variantes truncadas FIPS dão-te exatamente isso.
Quando preferir SHA-256
- Universalidade. Todos os sistemas aceitam SHA-256; muitos sistemas mais antigos ou embebidos não aceitam SHA-512.
- Tamanho da saída importa. Colunas de base de dados, campos de URL, fingerprints de certificado — o SHA-256 ocupa metade dos bytes.
- Hardware de 32 bits. O SHA-256 é mais rápido em CPUs de 32 bits e na maioria dos microcontroladores; as operações em palavras de 64 bits do SHA-512 têm de ser emuladas.
Quando o SHA-512 não é a ferramenta certa
- Armazenamento de palavras-passe. Usa bcrypt, scrypt ou Argon2. O SHA-512 sozinho é demasiado rápido — não importa que seja maior; o CPU/GPU continua a calcular centenas de milhões por segundo.
- Derivação de chaves direta a partir de uma palavra-passe. Usa HKDF ou PBKDF2-SHA-512, não SHA-512 só.
- MAC de uma mensagem arbitrária. Usa HMAC-SHA-512. SHA-512 sobre
chave || mensagemé vulnerável a ataques de extensão de comprimento.
Vetores de teste
Da suite de referência do SHA-512:
- String vazia
""→cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e "abc"→ddaf35a193617abacc417349ae20413112e6fa4e89a97ea20a9eeee64b55d39a2192992a274fc1a836ba3c23a3feebbd454d4423643ce80e2a9ac94fa54ca49f"abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu"→8e959b75dae313da8cf4f72814fc143f8f7779c6eb9f7fa17299aeadb6889018501d289e4900f7e4331b99dec4b5433ac7d329eeb6dd26545e96e55b874be909
Notas
Porquê 128 caracteres? O SHA-512 produz 512 bits = 64 bytes = 128 caracteres hex. Duas vezes o comprimento visual de um digest SHA-256.
Ataque de extensão de comprimento — o que é? Dado SHA-512(segredo || mensagem) e o comprimento de segredo, um atacante pode calcular SHA-512(segredo || mensagem || padding || extensão) sem conhecer segredo. É por isso que as construções MAC ingénuas são inseguras; o HMAC foi desenhado especificamente para o evitar.
Porque é que o meu SHA-512 difere do sha512sum? Newline final. Mesma resposta que para os outros algoritmos: echo -n ou usa o seletor de ficheiros.
Ferramentas relacionadas
- Gerador de hashes — todos os cinco hashes lado a lado
- SHA-256 — metade do tamanho do digest, mesmo nível de segurança, mais universalmente suportado
- SHA-1 — descontinuado, mantido para git e checksums legados
- Base64 — codifica o digest binário para transporte