Ferramenta de Identificação de Hash (busca reversa) | Detecta automaticamente MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt, Argon2

Cole uma string que pareça um hash e esta ferramenta estima qual algoritmo — MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt ou Argon2 — provavelmente a gerou, com base no comprimento, no conjunto de caracteres e no prefixo. Todo o processamento acontece inteiramente no navegador.

O próprio valor de hash não registra o nome do algoritmo usado para gerá-lo. Como vários algoritmos podem compartilhar o mesmo comprimento de saída, este resultado é a "suposição mais provável" com base no comprimento, no conjunto de caracteres e no prefixo — não uma conclusão 100% certa.

Dicas para identificar hashes

  • A identificação usa apenas o comprimento, o conjunto de caracteres (hexadecimal ou Base64) e o prefixo como pistas — ela não recalcula o hash para verificá-lo. Mostra apenas os candidatos que podem ser inferidos a partir do formato.
  • BCrypt ($2a$/$2b$/$2y$) e Argon2 ($argon2id$ etc.) incorporam o nome do algoritmo e os parâmetros diretamente no prefixo, por isso podem ser identificados com alta confiança.
  • Uma string hexadecimal de 64 caracteres costuma ser SHA-256, mas o SHA3-256 produz o mesmo comprimento, então, se você souber a linguagem ou a biblioteca do sistema de origem, use também essa informação como referência.
  • Dumps de hash copiados em várias linhas (separados por quebras de linha ou espaços) também têm os espaços em branco internos removidos automaticamente antes da identificação, então você pode colá-los como estão.
  • Se não tiver certeza sobre o resultado, a abordagem mais confiável é verificar a origem do hash — o código-fonte ou a documentação da aplicação.

Perguntas frequentes

Não, não apenas a partir do valor de hash. Alguns algoritmos, como SHA-256 e SHA3-256, produzem saídas com exatamente o mesmo comprimento, então a saída sozinha nunca pode ser conclusiva. Se você precisar saber com certeza, terá que verificar o código-fonte ou a documentação da aplicação que gerou o hash.

BCrypt e Argon2 são projetados especificamente para armazenamento de senhas e usam um "Modular Crypt Format" que incorpora o nome do algoritmo e os parâmetros como texto no início do hash, como $2b$ ou $argon2id$. Enquanto essa informação puder ser lida, o algoritmo pode ser determinado de forma única.

Não, não pode. Esta ferramenta apenas estima o tipo de algoritmo a partir da "aparência" do valor de hash — ela não oferece nenhum recurso para recuperar os dados originais a partir de um hash, como um ataque de força bruta.

A resistência a colisões de MD5 e SHA-1 já foi quebrada, então, se forem encontrados em uso para armazenamento de senhas, devem ser tratados como um risco de segurança. Recomenda-se migrar esses sistemas para BCrypt ou Argon2id, projetados especificamente para armazenamento de senhas.

Sim. Usando a ferramenta deste site Cálculo e comparação em lote de hashes, você pode inserir a mesma string e calcular de fato os valores MD5, SHA-1, SHA-256, SHA-512, SHA-3, BCrypt e Argon2id para conferi-los com este resultado de identificação.
ツールくん

Curiosidade — Por que um valor de hash sozinho não permite determinar o algoritmo

A função de uma função hash é converter dados de entrada em uma saída de comprimento fixo, e essa saída (o digest) em si não contém nenhum metadado que indique qual algoritmo a produziu. Isso é uma consequência inevitável do design: incorporar metadados mudaria o comprimento da saída, quebrando a propriedade de "comprimento fixo" essencial a uma função hash criptográfica. Isso deixa apenas a "aparência" da saída — seu comprimento e conjunto de caracteres — como pista.

Essa limitação aparece de forma mais evidente na relação entre as famílias SHA-2 e SHA-3. SHA-256 e SHA3-256 têm estruturas internas completamente diferentes (SHA-2 usa uma construção Merkle–Damgård, SHA-3 usa uma construção esponja), mas ambas são projetadas para produzir uma saída de 256 bits — 64 caracteres hexadecimais. A mesma relação existe entre SHA-224/SHA3-224, SHA-384/SHA3-384 e SHA-512/SHA3-512, então o comprimento da saída sozinho nunca pode determinar qual é qual. Como o SHA-2 é muito mais comum na prática, esta ferramenta apresenta a variante SHA-2 como candidata principal quando os comprimentos coincidem, mas isso é, no fim das contas, apenas uma suposição estatística.

Por outro lado, algoritmos de hash de senhas como BCrypt e Argon2 resolvem essa ambiguidade adotando um formato autodescritivo conhecido como Modular Crypt Format. Strings como $2b$12$... ou $argon2id$v=19$... incorporam como texto, no início do hash, o nome do algoritmo, a versão e os parâmetros, tornando possível reconstruir de forma única como o valor foi calculado apenas olhando para ele. Ao encontrar um hash nesse formato, uma identificação definitiva se torna possível.

Esse tipo de trabalho de identificação surge em cenários reais, como investigar dumps de senhas recuperados de sistemas legados, ou em desafios de criptografia em competições de segurança CTF (Capture The Flag). Reduzir as possibilidades de algoritmo a partir de um valor de hash permite decidir com eficiência qual ferramenta de análise ou abordagem de quebra tentar em seguida, como qual modo de ataque selecionar no Hashcat.

→ Ver todas as curiosidades