Gerador de Hash SHA-256
Calcule o hash SHA-256, SHA-1, SHA-384 e SHA-512 de qualquer texto, em hexadecimal ou Base64.
1. Cole o seu texto
2. Escolha a representação
O Base64 aqui é o do resumo em bytes, que é o formato usado no integrity de <script>. Não confunda com passar o texto hexadecimal por Base64 — dá outro valor.
Resultado
SHA-256256 bits — o padrão recomendado
3c03bc9351d3f28db630b378a22b6663d3c9bee5dace260610f96cfeb47dbe77
SHA-512512 bits
8622ef8528f7654b422ea4e204cbbb78f5be824c843308f85cc0a40cfb40da05593cc71050f43342d8f77557e92b580a66bd45aea94b6b5633928422918a6b51
SHA-384384 bits
be22b009a83f27b8a3f35e933ef165ae4a75f955bb8d24c5cfcf42233643f9a80467e6367dd666be8a7dae1df912878a
SHA-1160 bits
3df0f88dd2baeeeeb851842982c279eb8734192a
Quebrado desde 2017 — não use para segurança
O texto em números
Caracteres
61
Bytes em UTF-8
66
É sobre estes bytes que o hash é calculadoPor que os dois números são diferentes
Acentos, cedilhas e emojis ocupam mais de um byte em UTF-8. Como o hash é calculado sobre os bytes, e não sobre as letras, o mesmo texto salvo em outra codificação produz um resumo diferente. É a explicação mais comum para “o hash daqui não bate com o do outro site”.
Premissas: o texto é convertido em bytes com TextEncoder, ou seja, sempre em UTF-8. Todo o cálculo acontece no seu navegador — nada do que você digita é enviado ou armazenado. Hash não é criptografia: não existe “descriptografar” um SHA-256, e hash puro não serve para guardar senha. E não confie no SHA-1 para nada que envolva um adversário: ele tem colisão real desde 2017.
Como o hash é calculado
Um hash criptográfico é uma função de mão única: ela lê uma sequência de bytes de qualquer tamanho e devolve sempre a mesma quantidade de bits. O SHA-256 devolve 256 bits, que viram 64 dígitos hexadecimais — seja para uma letra, seja para um livro inteiro. Essa ferramenta implementa quatro algoritmos da família SHA conforme o FIPS 180-4, a norma do NIST, e todos rodam no seu navegador: nada do que você digita é enviado para lugar nenhum.
Duas propriedades explicam quase tudo o que se faz com hash. A primeira é o efeito avalanche: mudar um único caractere muda praticamente todo o resultado, sem nenhuma semelhança com o anterior.
| Texto | SHA-256 |
|---|---|
| obtani | 0145b2f18b2206e4317924c6bef6a461d5cb3c65112059fd54a3531c47f227b4 |
| obtanj | 098299aa7e4243c14c34d81c726b184441689d5f50ba2c2f35e8e8ac3bcb80a2 |
A segunda é a irreversibilidade. Como toda entrada possível cabe nos mesmos 256 bits, existem infinitos textos para cada resumo — e nenhum caminho de volta. É por isso que hash serve para conferir (dois arquivos são iguais? a senha digitada é a mesma que foi cadastrada?) e nunca para guardar algo que você precise ler de novo.
Por que o seu hash não bate com o de outro site
Esta é, de longe, a dúvida mais comum — e a resposta quase nunca é um erro de cálculo. O hash trabalha sobre bytes, não sobre letras, e a conversão de letras em bytes depende da codificação escolhida. A palavra ação tem quatro caracteres, mas ocupa seis bytes em UTF-8 (o ç e o ã gastam dois cada) e quatro em latin-1. São dois conjuntos de bytes diferentes, logo dois resumos diferentes:
| Codificação de “ação” | Bytes | SHA-256 |
|---|---|---|
| UTF-8 (o que usamos) | 6 | 0664077f33cc3ebbaa4bbdacac0eb70e740983080f01dce29929e73b7785a7ad |
| latin-1 (ISO-8859-1) | 4 | 5021bb98b2f2a48f39f2be7c788c933cf82c274b387ba879f8fca8e188b88610 |
Nós usamos sempre UTF-8, que é o padrão da web. É por isso que a ferramenta mostra, lado a lado, quantos caracteres e quantos bytes o seu texto tem. Duas outras causas frequentes: uma quebra de linha invisível no fim do texto copiado, que muda os bytes, e a comparação entre um valor em hexadecimal e outro em Base64, que são o mesmo resumo escrito de dois jeitos.
Qual algoritmo escolher
| Algoritmo | Saída | Quando usar |
|---|---|---|
| SHA-256 | 256 bits (64 hex) | O padrão. Na dúvida, é este. |
| SHA-512 | 512 bits (128 hex) | Margem maior; costuma ser mais rápido em máquinas de 64 bits. |
| SHA-384 | 384 bits (96 hex) | O SHA-512 com valor inicial próprio e saída truncada; exigido por alguns perfis. |
| SHA-1 | 160 bits (40 hex) | Só legado: identificador de commit do Git e checksums antigos. |
O que esta ferramenta não faz
- Não calcula hash de arquivo. Ela trabalha com o texto que você cola. Para conferir um download, use
shasum -a 256 arquivo(macOS e Linux) oucertutil -hashfile arquivo SHA256(Windows). - Não tem MD5. Foi uma decisão, não um esquecimento: o MD5 tem colisão prática desde 2004 e prefixo escolhido desde 2007 — o malware Flame usou isso em 2012 para forjar uma assinatura da Microsoft. Ele também não existe na API criptográfica dos navegadores.
- Não calcula HMAC nem assina nada. HMAC precisa de uma chave secreta, e uma chave secreta digitada numa página web deixa de ser secreta.
- Não “quebra” hash. Ver a primeira pergunta abaixo.
Fontes
- NIST. FIPS PUB 180-4: Secure Hash Standard (SHS), agosto de 2015 — a especificação dos quatro algoritmos, com os vetores de teste que travam nossos testes automatizados.
- STEVENS, M.; BURSZTEIN, E.; KARPMAN, P.; ALBERTINI, A.; MARKOV, Y. The first collision for full SHA-1, 23 de fevereiro de 2017 (CWI Amsterdam e Google) — o ataque SHAttered.
- NIST. NIST Retires SHA-1 Cryptographic Algorithm, 15 de dezembro de 2022 — o prazo de 31/12/2030.
- OWASP. Password Storage Cheat Sheet — por que hash rápido não serve para senha e qual algoritmo usar no lugar.
Perguntas frequentes
Não, e não é uma limitação desta ferramenta: é o que define um hash. A função joga fora informação de propósito — qualquer texto, de uma letra a um livro inteiro, sai com os mesmos 256 bits. Não existe caminho de volta porque a volta não é única. Os sites que prometem "descriptografar hash" fazem outra coisa: consultam uma tabela gigante de textos comuns já calculados. Eles acertam "123456" e nunca vão acertar uma frase sua.
Na esmagadora maioria das vezes, a causa é a codificação do texto. O hash é calculado sobre BYTES, não sobre letras: "ação" tem 4 caracteres, mas 6 bytes em UTF-8 e 4 em latin-1 — e cada conjunto de bytes dá um resumo diferente. Esta ferramenta usa sempre UTF-8, o padrão da web. As outras causas comuns são uma quebra de linha invisível no fim do texto e a diferença entre hexadecimal e Base64, que são representações do MESMO resumo.
Não. O SHA-256 foi feito para ser rápido, e velocidade é exatamente o que o atacante quer: uma placa de vídeo comum testa bilhões de senhas por segundo contra um hash SHA-256. Para senha, a recomendação do OWASP é um algoritmo lento e com salt, nesta ordem de preferência: Argon2id, scrypt, bcrypt e, quando houver exigência de FIPS-140, PBKDF2-HMAC-SHA256 com 600 mil iterações. O salt, que é um valor aleatório diferente por senha, é o que impede a tabela pronta de funcionar.
Não implementamos, por decisão. O MD5 tem colisão prática desde 2004 e colisão de prefixo escolhido desde 2007 — foi assim que o malware Flame forjou uma assinatura da Microsoft em 2012. Ele também não existe na API criptográfica dos navegadores. O uso legítimo que restou é conferir se um ARQUIVO baixado chegou inteiro, e esta ferramenta trabalha com texto. Se você precisa comparar um MD5 antigo, use a ferramenta de linha de comando do seu sistema; se está escolhendo um algoritmo hoje, use o SHA-256.
Para nada em que exista um adversário. Em 23 de fevereiro de 2017, pesquisadores do CWI Amsterdam e do Google publicaram o ataque SHAttered, com dois PDFs diferentes e o mesmo SHA-1, e o NIST determinou a retirada do algoritmo dos módulos validados até 31 de dezembro de 2030. Ele continua na ferramenta porque ainda é o identificador de commit do Git e aparece em somas de verificação antigas — situações em que ninguém está tentando enganar você. Fora disso, SHA-256.
Nenhuma no resumo: é o mesmo conjunto de bits escrito de dois jeitos. O hexadecimal usa dois dígitos por byte e é o formato que quase todo mundo mostra; o Base64 é mais curto e aparece no atributo integrity das tags script e link. Uma armadilha vale registrar: o Base64 aqui é o dos BYTES do resumo. Passar o texto hexadecimal por um conversor Base64 produz outro valor, e é por isso que a comparação com o resultado do openssl às vezes falha.
Segurança: leia antes de usar
Hash não é criptografia e hash puro não guarda senha. Se você está construindo um sistema de login, use Argon2id, scrypt ou bcrypt com salt — nunca SHA-256 direto, por mais forte que ele seja para outras finalidades. E não trate nenhum resultado de SHA-1 como prova de integridade contra alguém mal-intencionado: existe colisão real desde 2017. Esta ferramenta é um utilitário de conferência e aprendizado; para decisões de segurança de um sistema em produção, consulte alguém da área.
Precisa de um identificador único em vez de um resumo? O Gerador de UUID cria identificadores nas versões 4 e 7. E, se o assunto for proteger contas, o Gerador de Senhas Seguras monta senhas e frases secretas com a API criptográfica do seu navegador.