Gerador de hashes
Resumos reais, calculados na sua máquina: MD5, SHA-1, SHA-256, SHA-384, SHA-512 e HMAC-SHA-256, para texto digitado ou um ficheiro largado. É a ferramenta para o trabalho em que um chat de IA é pior: se pedir um hash a um chatbot, ele inventará uma cadeia que parece perfeita e não corresponde a nada, porque prevê texto em vez de calcular. Aqui os algoritmos correm de verdade, o ficheiro nunca é enviado e a resposta é o resumo, não um palpite.
- MD5
- —
- SHA-1
- —
- SHA-256
- —
- SHA-384
- —
- SHA-512
- —
- HMAC-SHA-256
- Introduza uma chave para calcular o HMAC do texto ou ficheiro acima.
Porque é que um hash calculado e um inventado parecem idênticos
Um hash é uma impressão digital com uma propriedade peculiar: mude um bit da entrada e cerca de metade dos bits da saída invertem. Não há «perto» no espaço dos hashes, nenhum padrão a que um preditor de texto se possa agarrar — os 64 caracteres hexadecimais de um SHA-256 são, para qualquer modelo que não tenha realmente executado o algoritmo, indistinguíveis do acaso. Por isso um chatbot faz a única coisa que pode fazer: produz 64 caracteres hex de aspeto aleatório, com formato perfeito e completamente errados. Já houve quem publicasse notas de lançamento, instruções de verificação e relatórios de incidentes com essas invenções, porque nada na cadeia parece falso. A defesa é aborrecida e total: nunca aceite um resumo de algo que não possa mostrar o seu trabalho. Esta página mostra-o por construção — o MD5 está implementado à vista a partir da RFC 1321 (a WebCrypto omite o MD5 deliberadamente, por isso uma página que o oferece ou o escreveu ou está a fingir), a família SHA corre através da própria WebCrypto do navegador, e os ficheiros largados são lidos com a API local de ficheiros e resumidos onde estão. Nada é enviado, o que importa porque os ficheiros que as pessoas resumem são tantas vezes os sensíveis: uma imagem de firmware sob NDA, um despejo de base de dados, o binário exato de um anfitrião de produção.
Dois vizinhos completam o conjunto. Se o que tem é um hash e a pergunta é «o que o criou?», o identificador de hashes lê o seu comprimento, alfabeto e prefixo e nomeia os candidatos — honestamente, incluindo os que a forma não consegue separar. E como a outra confusão clássica é reversível contra unidirecional, o artigo Base64 não é cifragem separa codificação (reversível, sem chave), cifragem (reversível, com chave) e hash (unidirecional, sem chave) — as três ideias cujas confusões enchem os relatórios de violações. Para verificar os certificados de um servidor ativo em vez de um ficheiro, o verificador SSL e o classificador SSL fazem o lado de rede do mesmo trabalho.
Perguntas frequentes
Um chatbot de IA não pode simplesmente resumir isto por mim?
Pode entregar-lhe uma cadeia que parece exatamente um hash — 64 caracteres hexadecimais confiantes para SHA-256 — e essa cadeia será inventada. Um modelo de linguagem não calcula resumos; prevê texto, e um hash é precisamente o tipo de texto em que «plausível» e «correto» nada partilham. Também não pode resumir um ficheiro que não consegue ler. Esta página calcula o resumo real na sua própria máquina, com os mesmos algoritmos que o seu sistema operativo usa — e se a entrada for um ficheiro, o ficheiro nunca sai do navegador. O artigo principal, nunca deixe um chatbot tratar dos seus segredos, percorre os três modos de falha.
Porque está o MD5 aqui, se está quebrado?
Porque o mundo continua a publicar somas de verificação MD5. Páginas de descarga de fornecedores, sistemas legados, despejos antigos de bases de dados e uma década de publicações em fóruns usam o MD5 como impressão digital, e verificar uma descarga contra o seu MD5 publicado exige produzir um MD5 real — algo que a WebCrypto recusa fazer, por isso a implementação nesta página foi escrita a partir da RFC 1321 e fixada aos vetores de teste da própria RFC. Quebrado para resistência a colisões significa quebrado para decisões de segurança; não apaga a base instalada. Use-o para verificar impressões legadas, nunca para proteger algo novo.
O que é o HMAC e porque precisa de uma chave?
Um hash simples prova que uma mensagem corresponde a um resumo; não prova quem o fez, porque qualquer pessoa pode resumir qualquer coisa. O HMAC mistura uma chave secreta na construção, de modo que o resumo também autentica o remetente — é assim que os webhooks e os pedidos de API assinados se provam. Introduza aqui o mesmo texto e a mesma chave e obterá o valor que o seu código deve produzir, calculado localmente, para que um segredo de webhook de produção nunca tenha de ser colado num chat ou no servidor de um desconhecido para ser depurado.
Devo resumir uma palavra-passe com um destes?
Não. Estes são resumos rápidos de uso geral, e rápido é exatamente o que um hash de palavra-passe não deve ser — um atacante com uma GPU tenta milhares de milhões por segundo. As palavras-passe pertencem ao bcrypt, scrypt ou Argon2, que são deliberadamente lentos e com sal. Se tem um hash e quer saber o que o produziu, o identificador de hashes lê a sua forma; se precisa de uma palavra-passe nova, o gerador de palavras-passe cria uma localmente.
Hex em maiúsculas ou minúsculas — importa?
Para o resumo, não: o hex é uma notação, e A-F contra a-f é tipografia. Importa para as comparações, porque uma comparação de cadeias byte a byte dirá que o mesmo hash é diferente. O interruptor reescreve todas as saídas de uma vez para poder igualar o formato da soma contra a qual está a comparar — a maioria das ferramentas Unix imprime minúsculas, algumas ferramentas Windows imprimem maiúsculas.