Gerador de hash

Gere hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de texto.

100% privado — funciona inteiramente no seu navegador. Seus dados são processados no seu dispositivo e nunca enviados para a internet.
MD5
SHA-1
SHA-256
SHA-384
SHA-512

Sobre o Gerador de Hash

Este gerador de hash gratuito calcula os hashes MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de qualquer texto, todos ao mesmo tempo e em direto à medida que escreve.

Os hashes são calculados no seu navegador através da API Web Crypto — o seu texto nunca é enviado.

O que é um hash

Uma função de hash recebe uma entrada de qualquer comprimento e produz uma impressão digital de comprimento fixo. Dê-lhe um único caractere ou um livro inteiro; o SHA-256 devolve 64 caracteres hexadecimais em qualquer dos casos.

Três propriedades tornam-na útil:

Determinística. A mesma entrada dá sempre o mesmo hash. Sempre, em qualquer máquina, para sempre.

Efeito de avalanche. Mude um único bit da entrada e cerca de metade dos bits de saída inverte-se. hello e hellp produzem hashes sem qualquer semelhança visível. Não existe «quase» — um hash ou corresponde exatamente ou não lhe diz nada.

Sentido único. Não é possível recuar de um hash até à entrada. A função descarta informação de propósito e não existe inversa.

Esta última propriedade é o ponto essencial, e é por isso que um hash não é cifragem.

Fazer hash não é cifrar

A cifragem é de dois sentidos: com a chave recupera o original. É esse todo o seu propósito.

O hash é de sentido único por conceção. Não há chave nem caminho de volta. Um documento de 500 páginas e uma única letra tornam-se ambos 64 caracteres — a maior parte da informação simplesmente desapareceu.

Por isso, a pergunta a que um hash responde nunca é «o que era isto?» mas sim «isto é igual àquilo?». Compare dois hashes: iguais significa que as entradas eram iguais; diferentes significa que não eram.

Daqui decorre um equívoco comum. «Decifrar» um hash MD5 não existe. O que os sites de consulta fazem na realidade é calcular antecipadamente o hash de milhares de milhões de entradas comuns e verificar se a sua consta da tabela. Não estão a inverter a função; estão a reconhecer um valor que já viram. Tudo o que seja invulgar não está na tabela.

MD5 e SHA-1 estão quebrados — eis o que isso significa

Ambos continuam a aparecer por toda a parte, e ambos são inseguros para fins de segurança. Vale a pena saber exatamente de que forma.

Uma colisão são duas entradas diferentes que produzem o mesmo hash. Isso deveria ser inviável. Para o MD5 é hoje trivial — produzem-se colisões em segundos num computador comum. O SHA-1 caiu em 2017, quando a Google demonstrou dois PDF diferentes com o mesmo hash SHA-1, e o ataque só se tornou mais barato desde então.

Porque é que isto importa: se alguém conseguir construir dois ficheiros com hashes coincidentes, um hash deixa de provar que um ficheiro é aquele que esperava. Um documento assinado poderia ser trocado por outro documento com a mesma impressão digital.

Onde o MD5 ainda serve: detetar corrupção acidental. Se quiser saber se uma transferência chegou intacta, ou se dois ficheiros no seu disco são duplicados, o MD5 funciona e é rápido. A corrupção aleatória não produzirá uma colisão.

Onde não serve: em tudo aquilo em que alguém possa estar a tentar enganá-lo — verificar a autenticidade de uma transferência, assinar ou guardar palavras-passe.

Use SHA-256 para tudo o que importe. Não tem nenhum ataque prático de colisão conhecido, é rápido e é a opção predefinida nos sistemas modernos. O SHA-512 não é significativamente mais seguro na maioria dos casos, embora possa ser mais rápido em hardware de 64 bits.

Nunca guarde palavras-passe com um hash simples

Este é o uso indevido de funções de hash com consequências mais graves, e causa violações reais.

Calcular o hash SHA-256 de uma palavra-passe e guardar o resultado não chega. O problema são os hashes rápidos: o SHA-256 foi concebido para ser veloz, e o hardware moderno calcula milhares de milhões por segundo. Um atacante que roube a sua base de dados simplesmente experimenta todas as palavras-passe prováveis até os hashes coincidirem.

Dois problemas adicionais agravam a situação. Palavras-passe iguais produzem hashes iguais, pelo que um atacante vê de imediato que contas partilham uma palavra-passe. E as tabelas pré-calculadas fazem com que as palavras-passe comuns sejam reconhecidas sem qualquer esforço.

A abordagem correta usa uma função de hash para palavras-passe construída para ser lenta e exigente em memória: bcrypt, scrypt ou Argon2. Acrescentam um sal aleatório único por palavra-passe, para que palavras-passe iguais deem hashes diferentes, e são deliberadamente dispendiosas — ajustadas para que uma única verificação demore uma fração de segundo percetível, tornando impraticáveis milhares de milhões de tentativas.

Use uma biblioteca adequada. O armazenamento de palavras-passe não é algo que se construa a partir de primitivas de hash.

Para que servem realmente os hashes

  • Verificar transferências — comparar a soma de verificação publicada com o ficheiro recebido
  • Detetar ficheiros duplicados — hashes iguais significam conteúdos iguais
  • Deteção de alterações — este ficheiro, registo ou configuração foi modificado?
  • Endereçamento por conteúdo — o Git dá a cada commit e a cada objeto o nome do seu hash
  • Integridade dos dados — confirmar que uma transferência ou uma cópia de segurança chegou sem corrupção
  • Chaves de cache — um identificador curto e estável derivado de conteúdo mais longo
  • Assinaturas digitais — calcula-se o hash do documento e depois assina-se o hash

Como usar

  • Escreva ou cole o seu texto
  • Os hashes atualizam-se em direto para cada algoritmo
  • Copie qualquer hash com o respetivo botão de cópia

Bom saber

  • O comprimento da saída é fixo. O MD5 dá 32 caracteres hexadecimais, o SHA-1 dá 40, o SHA-256 dá 64, o SHA-512 dá 128 — independentemente do tamanho da entrada.
  • Tudo conta. Um espaço final, uma mudança de linha no fim de um ficheiro ou um fim de linha diferente altera completamente o hash. É a razão habitual para uma soma de verificação «dever» corresponder e não corresponder.
  • A codificação importa. Esta ferramenta calcula o hash do seu texto como UTF-8. Calcular o hash dos mesmos caracteres noutra codificação dá um resultado diferente.
  • As maiúsculas são convenção, não significado. Os hashes são muitas vezes mostrados em maiúsculas ou minúsculas; o valor é o mesmo. Compare sem distinguir maiúsculas.
  • Uma entrada vazia também tem hash — uma constante bem conhecida para cada algoritmo.
  • Para ficheiros grandes é melhor usar as ferramentas do próprio sistema operativo: certutil -hashfile no Windows, shasum -a 256 no macOS e no Linux.

Perguntas frequentes

Qual é a diferença entre hash e cifragem?

A cifragem é reversível — com a chave correta recupera os dados originais, que é todo o objetivo. O hash é de sentido único por conceção: produz uma impressão digital de comprimento fixo e não há caminho de volta, porque a maior parte da informação é descartada de propósito. O hash responde a «estas duas coisas são iguais?», nunca a «o que era isto?».

Um hash pode ser decifrado ou revertido?

Não. O que os sites de consulta oferecem não é reversão, mas reconhecimento: calcularam previamente o hash de milhares de milhões de cadeias comuns e verificam se a sua aparece na tabela. Palavras-passe comuns e palavras de dicionário são encontradas de imediato; tudo o que é invulgar não está na tabela nem alguma vez estará. A própria função não pode ser invertida.

O MD5 ainda é seguro de usar?

Apenas para detetar corrupção acidental, como verificar se uma transferência chegou intacta ou encontrar ficheiros duplicados. Contra um ataque deliberado está completamente quebrado — dois ficheiros diferentes com o mesmo MD5 podem ser criados em segundos. O SHA-1 também está quebrado, demonstrado em 2017 com PDF em colisão. Use SHA-256 para tudo o que envolva confiança.

Que algoritmo de hash devo usar?

SHA-256 para quase tudo. É rápido, amplamente suportado e não tem nenhum ataque prático de colisão conhecido. O SHA-512 é uma alternativa razoável e pode ser mais rápido em sistemas de 64 bits, embora não seja significativamente mais seguro na prática. Reserve o MD5 e o SHA-1 para compatibilidade com sistemas existentes e para verificações sem implicações de segurança.

Posso usar isto para gerar o hash das palavras-passe do meu site?

Por favor, não. Hashes rápidos como o SHA-256 são a ferramenta errada: o hardware consegue calcular milhares de milhões por segundo, pelo que uma base de dados roubada é quebrada por força bruta rapidamente. Use bcrypt, scrypt ou Argon2, que acrescentam um sal único por palavra-passe e são deliberadamente lentos. Recorra sempre a uma biblioteca consolidada em vez de montar você mesmo o armazenamento de palavras-passe.

Porque é que o meu hash não corresponde ao publicado no site?

Quase sempre por uma diferença invisível na entrada. Um espaço final, uma mudança de linha a mais ou a menos no fim, ou fins de linha do Windows em vez dos do Unix alteram completamente o hash — é o efeito de avalanche a funcionar corretamente. Verifique também se está a comparar o mesmo algoritmo, já que uma página pode listar vários.

O meu texto é enviado para um servidor?

Não. Os hashes SHA são calculados pela implementação Web Crypto integrada no seu navegador e o MD5 é calculado em JavaScript, ambos inteiramente no seu dispositivo. Nada é transmitido nem guardado, e a ferramenta funciona com a ligação desligada.

Ferramentas relacionadas

Tutorial em vídeo

Adicionamos novas ferramentas com frequência — inscreva-se no YouTube para ser avisado a cada lançamento.

Mais ferramentas

Ver tudo

Aplicativos recomendados

Ver tudo