Gerador de Hash

MD5, SHA-1, SHA-256, SHA-512 e CRC-32 de qualquer texto, calculados no seu navegador.

Roda inteiramente no seu navegador. Nada é enviado, registrado ou armazenado.

Um hash transforma qualquer quantidade de texto em uma impressão digital curta e de tamanho fixo. A mesma entrada dá sempre o mesmo resumo, e mudar um caractere em qualquer lugar muda tudo — que é o que o torna útil para saber se duas coisas são idênticas sem compará-las lado a lado.

Como funciona

O texto é primeiro codificado em UTF-8 e depois resumido sobre esses bytes. Isso importa para tudo acima do ASCII: é são dois bytes, então o resumo dele não é o resumo de um é de um byte em outra codificação. Duas ferramentas que discordam sobre uma string acentuada quase sempre discordam nisso, e não no algoritmo.

Tudo é calculado aqui, na página. Os cinco algoritmos são escritos à mão em vez de pegos da API de criptografia do navegador, por três motivos: essa API não está disponível em HTTP simples, ela se recusa a fazer MD5 e é assíncrona, enquanto o resto destas ferramentas não é.

Os resumos aparecem em hexadecimal minúsculo, que é o que as ferramentas de linha de comando imprimem. A chave de maiúsculas existe porque alguns sistemas os guardam do outro jeito, e comparar entre os dois a olho é um bom jeito de ver uma diferença que não existe.

Exemplos

Caso Entrada Resultado
SHA-256 de uma string curta hello 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
MD5 da mesma string hello 5d41402abc4b2a76b9719d911017c592
Um caractere diferente, e nada sobrevive hellp d0763edaa9d9bd2a9516280e9044d885

Perguntas frequentes

Dá para recuperar o texto original a partir de um hash?

Não, e nenhuma ferramenta dá. Um hash não é criptografia: a informação se foi, e o resumo de um caractere e o resumo de um romance têm o mesmo tamanho. Sites que se oferecem para "descriptografar" um hash o estão procurando em uma tabela de resumos que alguém já calculou a partir de senhas comuns — o que só funciona para entradas que estavam nessa lista.

Devo gerar o hash de uma senha com isto?

Não. Senhas precisam de um algoritmo feito para ser lento — bcrypt, scrypt ou Argon2 — com um sal aleatório para cada uma, calculado no seu servidor. Estes cinco são rápidos, que é exatamente a propriedade errada: uma placa de vídeo testa bilhões de candidatos MD5 por segundo. Nada do que você digita aqui sai do seu navegador, mas o resultado ainda seria a coisa errada para armazenar.

O que significa "quebrado" para MD5 e SHA-1?

Que alguém consegue construir de propósito duas entradas diferentes com o mesmo resumo, o que já foi demonstrado para os dois. Então nenhum dos dois prova que um arquivo é aquele que prometeram a você, se alguém tivesse motivo para trocá-lo. Os dois continuam ótimos para o que são mais usados: perceber que um download chegou corrompido, ou que dois arquivos são cópias.

Por que o meu resumo difere do de outra ferramenta?

Quase sempre por uma quebra de linha no fim ou por uma codificação de caracteres diferente. Resumir um arquivo que termina em quebra de linha não é o mesmo que resumir o texto sem ela, e cada byte conta. Esta ferramenta resume exatamente os caracteres da caixa, codificados em UTF-8, e nada mais.

Bom saber

  • Tudo acontece no seu navegador. O que você cola não é enviado, não é registrado e não é armazenado.

Fontes

Todas as ferramentas de Código