RevealTheme logo

Gerador de Hash (MD5 / SHA)

Gere hashes criptográficos: MD5, SHA-1, SHA-256, SHA-384 e SHA-512. Executa no seu navegador por meio da Web Crypto API.

Como usar esta ferramenta

  1. 1

    Type or paste the text you want to hash into the input box.

  2. 2

    Click Generate to compute the digests.

  3. 3

    Read the SHA-1, SHA-256, SHA-384, and SHA-512 results, each shown as a lowercase hexadecimal string.

  4. 4

    Select a hash and copy it for use as a checksum, cache key, or content identifier.

O que são os hashes criptográficos e quando você precisa deles?

Uma função hash criptográfica é um algoritmo determinístico que converte qualquer entrada (alguns poucos bytes, um arquivo de vários gigabytes ou toda a Wikipédia em inglês) em uma saída de tamanho fixo chamada 'resumo' (digest) ou 'hash'. O SHA-256 produz 256 bits (64 caracteres hexadecimais); o SHA-512 produz 512 bits; o MD5 produz 128 bits. Quatro propriedades definem um hash 'criptográfico', em oposição a um não criptográfico (como o CRC32): determinismo (mesma entrada → mesmo hash, sempre), efeito avalanche (mudar um único bit muda aproximadamente metade dos bits de saída), resistência à pré-imagem (você não pode inverter o hash para recuperar a entrada) e resistência a colisões (você não pode encontrar duas entradas que produzam o mesmo hash). Quando uma função hash é quebrada, costumam cair essas duas últimas propriedades: os ataques de colisão contra o MD5 (2004) e o SHA-1 (2017) os tornaram inadequados para fins de segurança, embora ainda sirvam para verificações de integridade não adversariais, como os checksums de arquivos. Use SHA-256 ou SHA-512 para qualquer trabalho de segurança novo. Esta ferramenta usa a Web Crypto API do navegador (crypto.subtle.digest), acelerada por hardware nos dispositivos modernos, e produz uma saída idêntica byte a byte à do OpenSSL, do módulo hashlib do Python e do módulo crypto do Node.

Casos de uso comuns

  • Verifique se um arquivo baixado corresponde ao SHA-256 informado pelo publicador (ISOs do Linux, versões de ferramentas de segurança).

  • Gere um identificador endereçável por conteúdo para chaves de cache (hash do conteúdo → URL estável).

  • Crie uma chave de deduplicação para armazenar arquivos (se os hashes coincidem, o arquivo é idêntico).

  • Construa a verificação de assinatura de webhooks: HMAC-SHA256 da carga útil com um segredo compartilhado.

  • Gere hashes de conteúdo no estilo do Git (SHA-1 para identificadores de tree ou blob).

  • Valide a integridade de uma linha do banco de dados calculando o hash de suas colunas-chave e armazenando-o.

Perguntas frequentes

Por que o MD5 está obsoleto para a segurança?
Os criptógrafos encontraram maneiras de construir duas entradas distintas que produzem o mesmo MD5. Uma vez que as colisões podem ser encontradas, o MD5 deixa de ser um sinal de integridade confiável em cenários adversariais (alguém poderia trocar um arquivo e gerar outro com o mesmo hash). Para checksums não adversariais (o arquivo foi baixado corretamente?), o MD5 ainda funciona bem; ele só é inseguro para assinaturas digitais ou qualquer coisa influenciada por um atacante.
Os hashes podem ser invertidos?
Não diretamente: os hashes criptográficos são funções de mão única. Mas: (1) para entradas curtas ou de baixa entropia (senhas, frases comuns), um atacante pode pré-calcular os hashes de cada entrada provável (rainbow tables) e procurar o seu. Por isso o hash de senhas usa salts aleatórios e únicos. (2) Para entradas de comprimento arbitrário e alta entropia (chaves aleatórias, conteúdo de arquivos), a inversão é computacionalmente inviável.
Qual é a diferença entre SHA-256 e HMAC-SHA256?
O SHA-256 é um hash simples: qualquer pessoa que tenha a entrada pode calcular o mesmo hash. O HMAC-SHA256 é um hash com chave: você precisa de um segredo compartilhado para calculá-lo. Os webhooks usam HMAC porque o verificador quer saber 'isto foi criado por alguém que conhece o segredo?', e não apenas 'o payload corresponde a um valor conhecido?'. Use nosso Gerador de HMAC para a variante com chave.
Quando devo usar SHA-512 em vez de SHA-256?
O SHA-512 tem mais bits de saída (512 contra 256), o que torna os ataques de colisão teoricamente mais difíceis. Mas o SHA-256 já é seguro além de qualquer prazo razoável (força efetiva contra colisões de 2^128). O SHA-512 é às vezes mais rápido em hardware de 64 bits devido às suas operações internas mais largas. Use SHA-256 por padrão; use SHA-512 se tiver um motivo concreto.
Por que meu hash SHA difere do de outra ferramenta?
Três causas prováveis: (1) Codificação de entrada distinta: os bytes aos quais o hash é aplicado precisam coincidir. UTF-8, UTF-16 ou Latin-1 produzem hashes distintos para o mesmo texto visível. Esta ferramenta codifica a entrada como UTF-8. (2) Quebra de linha final: algumas ferramentas adicionam uma quebra de linha e outras não. (3) BOM (marca de ordem de bytes): um prefixo oculto de três bytes que alguns editores adicionam aos arquivos UTF-8.
É seguro usá-la com dados sensíveis?
Sim: o cálculo do hash ocorre localmente no seu navegador por meio da Web Crypto. A entrada nunca sai do seu dispositivo. Os hashes em si não são 'sensíveis' no sentido de que não revelam a entrada (presumindo entropia suficiente), mas se você calcular o hash de dados de baixa entropia (como senhas sem salt), tenha em mente que qualquer pessoa que veja o hash poderia chegar a invertê-lo por meio de rainbow tables.

Ferramentas relacionadas