Gerador de Hash: SHA-256, SHA-512, SHA-1, MD5

Digite um texto ou escolha um arquivo: o gerador de hash calcula na hora os checksums SHA-256, SHA-384, SHA-512 e SHA-1 e, se você quiser, também o MD5. Cole um hash esperado (por exemplo, da página de download) para comparar diretamente. Tudo roda no seu navegador – os arquivos nunca são enviados.

O MD5 é inseguro e serve só para checksums simples.
Exatamente este texto é convertido em hash como UTF-8 – um espaço a mais ou uma quebra de linha no final geram um hash totalmente diferente.

Seu texto fica no seu navegador: não é enviado, não é salvo e não aparece no endereço da página.

O arquivo é lido só localmente e nunca é enviado (até 512 MB).

Resultado

SHA-256
b8a0136dcb2459c3070d390239f18258248d9f9d866f31cc822d308620b90882
SHA-1
9f44c711fdfe4f13ee92555b3ac243473bc8af2c
SHA-384
d97d005eb5f98feca0f76f6b057fea1fba480ffd03cc8fac6f6b8386d53bba4837460264397a029d75c464e90eac7176
SHA-512
7ef719a6424e6ed4373a03be79b0938aba710d54b052a5a093f0d78802cd16692275f9ba0608686dac7ba3ffb50ccb6ab8c2ac611526051813c065f184ea2b59
Origem do hash
Texto, 11 bytes (UTF-8)

Como o cálculo é feito

Uma função hash transforma dados de qualquer tamanho num valor de tamanho fixo – o hash, digest ou checksum (soma de verificação). A mesma entrada sempre gera o mesmo hash; mudar um único caractere produz um hash completamente diferente. Não dá para voltar do hash à entrada.

Os algoritmos

Como verificar um download

Muitos projetos publicam um checksum SHA-256 ao lado do arquivo. Selecione o arquivo aqui e cole o valor publicado em “Comparar com o hash esperado” – se conferir, o arquivo chegou sem alterações. Maiúsculas, espaços e dois-pontos no valor esperado não fazem diferença. No Windows, você faz o mesmo com certutil -hashfile arquivo SHA256; no macOS e no Linux, com shasum -a 256 arquivo ou sha256sum arquivo.

Por que meu hash é diferente?

Normalmente por causa de caracteres invisíveis: echo texto | sha256sum gera o hash do texto com quebra de linha, echo -n sem. Finais de linha do Windows (CR LF em vez de LF), uma marca de ordem de bytes (BOM) ou uma codificação diferente de UTF-8 também mudam o hash.

Hashes e senhas

Hashes rápidos como SHA-256 ou MD5 não servem para armazenar senhas – atacantes conseguem testar bilhões de tentativas por segundo. Use algoritmos lentos e com salt, como Argon2, scrypt ou bcrypt.

Os hashes são calculados com a Web Crypto API do seu navegador. Seu texto, seu arquivo e o valor de comparação não são enviados, não são armazenados e não aparecem na barra de endereços.

Perguntas frequentes

Como obter o hash SHA-256 de um arquivo?

Escolha o arquivo em “Ou gere o hash de um arquivo” – o valor SHA-256 aparece na hora, no topo do resultado. O arquivo é lido só dentro do seu navegador e nunca é enviado.

Dá para descriptografar um hash?

Não. Um hash não é criptografia, e sim uma função de mão única. Para entradas curtas ou comuns (como senhas fracas), porém, atacantes conseguem achar uma entrada correspondente por tentativa e erro ou com tabelas pré-calculadas.

O MD5 ainda é seguro?

Não. O MD5 está quebrado desde 2004; colisões podem ser geradas num computador comum em segundos. Para segurança, use SHA-256 ou algo mais forte. Como checksum contra erros acidentais de transmissão, o MD5 ainda cumpre o papel.

Por que meu hash não bate com o da linha de comando?

A causa mais comum é uma quebra de linha: echo "texto" | sha256sum acrescenta um \n. Use echo -n ou printf. Finais de linha diferentes (CR LF do Windows) ou outras codificações de caracteres também mudam o hash.

Qual a diferença entre a saída hexadecimal e a Base64?

É o mesmo hash escrito de outra forma: o hexadecimal usa 2 caracteres por byte (SHA-256 = 64 caracteres), o Base64 é mais curto (44 caracteres). O Base64 é usado, por exemplo, no Subresource Integrity (integrity="sha256-…").

Fontes e base legal

Última atualização:

Ferramentas relacionadas