SHA-256 e SHA-512 com exatamente a mesma entrada
Digite MultiVerto, com as mesmas letras maiúsculas e sem espaços antes ou depois, na ferramenta SHA-256 incorporada. O resumo hexadecimal começa com ae71dfc48b890921 e termina com c68938f7185915aa. Abra a ferramenta SHA-512 vinculada e digite os mesmos dez caracteres. Nesse caso, o resumo começa com cacbdf4e6ceeaa77 e termina com b71e458c3b7209d9. São algoritmos diferentes, não dois tamanhos de apresentação de um único resultado. Se os seus valores forem outros, examine os bytes exatos da entrada: uma quebra de linha copiada, um espaço, uma mudança de maiúscula ou outra codificação de caracteres altera o hash. O site codifica o texto em UTF-8 antes de o navegador calcular os resultados. Para repetir o teste, registre o algoritmo, a entrada precisa e se há uma quebra de linha no final. Um resumo não pode ser decodificado para recuperar o texto original.
Por que a saída tem 64 ou 128 caracteres hexadecimais
A norma FIPS 180-4 define uma saída de 256 bits para SHA-256 e de 512 bits para SHA-512. Cada caractere hexadecimal representa quatro bits; por isso os textos habituais possuem 64 e 128 caracteres, respectivamente. A segunda representação ocupa o dobro do espaço. Isso não significa que SHA-512 seja SHA-256 com caracteres anexados; o cálculo interno também muda. Confira o formato exigido por quem vai receber o resumo. Se um manifesto, uma API ou um campo de banco de dados exige SHA-256, o resultado SHA-512 não corresponderá mesmo quando ambas as partes processarem corretamente os mesmos bytes. Diferencie ainda um hash puro de formatos que acrescentam um identificador de algoritmo, um salt ou uma assinatura. Esses componentes adicionais seguem suas próprias especificações e não devem ser interpretados como parte dos caracteres hexadecimais do resumo.
- Texto exato: MultiVerto, sem quebra final
- Bytes UTF-8 no navegador
- SHA-256 → 64 caracteres hexadecimais
- SHA-512 → 128 caracteres hexadecimais
Verifique a integridade usando uma referência confiável
Imagine que o publicador de um arquivo forneça um resumo SHA-256 confiável. Calcule SHA-256 sobre os bytes reais do arquivo baixado e compare todos os 64 caracteres, não apenas os trechos do começo e do fim mostrados neste exemplo. Uma correspondência indica fortemente que os bytes conferidos são os representados pela referência. O mesmo vale para SHA-512 somente quando a referência fornecida também é SHA-512. Neste caso, o MultiVerto calcula o hash do texto digitado no campo. Para conferir um arquivo, use uma ferramenta que processe os bytes exatos dele; digitar o nome do arquivo não equivale a calcular sua soma. Obtenha o valor esperado por um canal confiável. Se um invasor consegue substituir tanto o arquivo como o resumo publicado, a simples comparação de um hash sem chave não autentica o publicador. Uma assinatura digital ou um canal autenticado responde a essa outra pergunta.
Escolha considerando segurança e compatibilidade
Os dois algoritmos são funções padronizadas da família SHA-2. Uma colisão ocorre quando duas entradas diferentes geram o mesmo resumo. Já uma diferença entre o seu cálculo e a referência geralmente indica que os bytes ou o algoritmo não são iguais. A saída maior de SHA-512 fornece uma margem teórica superior contra colisões, mas o comprimento sozinho não determina a segurança de um sistema completo. Considere também o protocolo, o formato exigido, o desempenho no ambiente real e as regras aplicáveis. Não substitua um formato consolidado de somas SHA-256 por SHA-512 apenas porque 128 caracteres parecem mais seguros. Ao projetar um fluxo novo que permita ambos, documente a escolha e faça testes com dados reais. Comparar diretamente um valor SHA-256 a um SHA-512 nunca permite concluir que a entrada mudou: os algoritmos necessariamente produzem saídas distintas.
Hash puro não é uma solução para guardar senhas
Um hash SHA-256 ou SHA-512 puro é rápido de calcular. Isso é útil para verificações de integridade, mas permite que alguém com uma base de senhas roubada teste muitos palpites rapidamente. A OWASP recomenda funções adaptativas específicas para senhas, com salt, como Argon2id; as alternativas dependem do contexto da aplicação. Escolher SHA-512 ou calcular duas vezes um hash rápido não transforma o resultado em um verificador adequado. Hash também não é criptografia reversível: não existe chave de descriptografia, mas uma entrada previsível pode ser descoberta por tentativas. O MultiVerto calcula esses hashes de texto localmente no navegador, sem enviar o conteúdo digitado para conversão. Mesmo assim, não cole senhas reais em uma demonstração; use o sistema de tratamento de senhas aprovado pela aplicação. Registre o nome do algoritmo junto de cada soma de verificação para que comparações futuras façam sentido.