Gerador de hash SHA3-256
Gere o hash SHA3-256 de qualquer texto na hora, no seu navegador. Entrada em UTF-8, hex ou Base64; saída em hex ou Base64. Grátis, privado, sem upload.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
O que é Gerador de hash SHA3-256?
O SHA3-256 é o hash de tamanho fixo de 256 bits do padrão SHA-3 (FIPS 202, 2015), baseado na esponja Keccak e não no design do SHA-2. Esta ferramenta calcula o resumo SHA3-256 de 256 bits de um texto ou de bytes brutos (hex ou Base64) enquanto você digita e o exibe como 64 caracteres hexadecimais ou em Base64.
Como usar Gerador de hash SHA3-256
- Digite ou cole sua entrada em Texto para gerar o hash — o resumo é atualizado enquanto você digita (com a caixa vazia, aparece o hash de uma entrada vazia).
- Escolha a Codificação de entrada: Texto (UTF-8) gera o hash dos caracteres em UTF-8; Bytes em hexadecimal ou Base64 geram o hash dos bytes brutos decodificados.
- Selecione o Formato de saída (hex em minúsculas, hex em maiúsculas ou Base64) e clique em Copiar.
Exemplo
abc
3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
SHA3-256 dos 3 bytes ASCII "abc" (UTF-8, saída em hex minúsculo), o vetor de teste padrão.
Quando usar Gerador de hash SHA3-256
Use a ferramenta de texto SHA3-256 para gerar hash de strings: reproduzir um valor de uma documentação ou de um código, montar vetores de teste, comparar a entrada de uma assinatura de API ou conferir o que um programa deveria produzir. Não a use para verificar um arquivo baixado: copiar o conteúdo do arquivo para uma caixa de texto altera quebras de linha e codificação, então use a ferramenta de checksum de arquivo SHA3-256. Se você trabalha com Ethereum ou outro software que diz "SHA3" mas é anterior ao FIPS 202, provavelmente precisa do Keccak-256.
Como funciona Gerador de hash SHA3-256
O SHA3-256 é uma esponja sobre a permutação Keccak-f de 1600 bits (24 rodadas de θ, ρ, π, χ e ι). A entrada é absorvida em blocos de 1088 bits (a taxa, ou rate; capacidade de 512 bits), com preenchimento pelo sufixo de domínio do SHA-3 01 seguido de pad10*1 (byte 0x06 … 0x80). Depois da absorção, os primeiros 256 bits do estado são extraídos (squeeze) como resumo. O sufixo é a única diferença em relação ao Keccak-256 original, mas muda todas as saídas. O texto é convertido primeiro em bytes (UTF-8 por padrão), então os mesmos caracteres sempre geram o mesmo hash.
Casos de Uso Comuns
- Conferir o SHA3-256 esperado de uma string em um teste unitário ou fixture
- Gerar o hash de bytes hexadecimais copiados de um depurador, de uma captura de pacotes ou da especificação de um protocolo
- Comparar a saída SHA3-256 entre duas linguagens de programação que não batem
- Gerar identificadores determinísticos ou chaves de cache a partir de texto
- Obter a forma Base64 de um resumo SHA3-256 para cabeçalhos ou arquivos de configuração
Nota de Segurança
Não há ataques práticos conhecidos contra o SHA3-256. Hashes simples também não servem para armazenar senhas: use um hash de senha lento e com salt, como Argon2, scrypt ou bcrypt. Tudo é calculado localmente no seu navegador; nada do que você digita é enviado a lugar algum.
Perguntas Frequentes
Por que meu SHA3-256 não bate com o do Ethereum ou de uma biblioteca antiga?
O Ethereum e algumas bibliotecas antigas usam a submissão original do Keccak, que preenche com 0x01 em vez do sufixo 0x06 do FIPS 202. As saídas são completamente diferentes; para esses valores, use a ferramenta Keccak-256.
O SHA3-256 é melhor que o SHA-256?
Ambos são seguros. O SHA-3 é uma construção diferente (uma esponja), então oferece diversidade caso o SHA-2 seja enfraquecido algum dia, e é imune a ataques de extensão de comprimento. O SHA-2 é mais rápido em software e mais amplamente adotado.
Por que o hash muda completamente quando altero um único caractere?
É o efeito avalanche, para o qual todo hash criptográfico é projetado: inverter um bit da entrada muda cerca de metade dos 256 bits de saída, então entradas parecidas geram resumos sem relação entre si.
Um espaço ou uma quebra de linha no final faz diferença?
Sim. O hash cobre cada byte, então abc e abc seguido de uma quebra de linha geram valores SHA3-256 diferentes. Garanta que a entrada contenha exatamente os bytes que você quer processar.