SomeeLab.tools

Gerador de hash — MD5, SHA-1, SHA-256

Obtenha o hash MD5, SHA-1, SHA-256, SHA-384 e SHA-512 de qualquer texto de uma só vez. Grátis, sem cadastro e calculado no seu navegador.

MD5 · SHA-1MD5 e SHA-1 já têm colisões demonstradas. Use apenas para conferir um arquivo com a soma publicada e prefira SHA-256 ou superior para senhas, assinaturas e tudo que envolva segurança.

Um hash não volta atrás

A criptografia devolve o texto assim que você tem a chave. Um hash não tem essa chave: ele esmaga qualquer entrada, por maior que seja, num único valor de tamanho fixo, e nada nesse valor permite recuperar o original.

Por isso hashes respondem a uma só pergunta: essas duas coisas são iguais? O arquivo baixado bate com o valor publicado? A senha recém-digitada bate com a que está guardada? Se algo precisa ficar escondido e ser lido depois, o caminho é criptografia, não hash.

Qual algoritmo escolher

  • MD5 — um projeto de 1991. Produzir duas entradas diferentes com o mesmo hash leva segundos num notebook. Ele sobrevive porque distribuidores ainda publicam somas MD5, e é preciso poder conferi-las.
  • SHA-1 — em 2017 foram publicados dois PDFs que colidem. Não há razão para escolhê-lo em algo novo.
  • SHA-256 — o padrão de hoje: certificados, assinaturas e blockchains ficam aqui.
  • SHA-384 e SHA-512 — apoiam-se em operações de 64 bits, então numa máquina de 64 bits podem superar o SHA-256. Escolha quando quiser um resumo mais longo.

Para conferir integridade, SHA-256 basta. Se o distribuidor só publicou um MD5, compare com ele — mas avalie à parte se o download veio de uma fonte confiável.

Senhas precisam de mais que isso

Guardar uma senha como SHA-256 é melhor que deixá-la em texto puro, e ainda assim é má ideia. Funções de hash são feitas para serem rápidas, então um atacante testa bilhões por segundo, e toda senha comum já está numa tabela.

Use uma função feita para ser lenta: bcrypt, scrypt ou Argon2. Elas deixam você aumentar o custo de cálculo e aplicam um sal diferente por usuário. Não escreva a sua: use a que a linguagem já traz.

Mesmo arquivo, resumo diferente

Esta ferramenta calcula o hash dos bytes UTF-8 da sua entrada. Quando o resultado diverge de uma ferramenta de linha de comando, a diferença quase sempre é invisível na tela.

  • Fim de linha — o \r\n do Windows e o \n do Unix são bytes diferentes.
  • Uma quebra de linha no fimecho acrescenta uma por padrão. Tente echo -n ou printf.
  • Um BOM — alguns editores colocam três bytes no começo do arquivo.