Você tem um hash. É uma longa sequência de caracteres hexadecimais ou talvez tenha um prefixo estranho como $2b$. Você precisa saber qual algoritmo o criou – para um desafio CTF, uma auditoria de segurança, recuperação de senha ou apenas curiosidade.

Aqui está o guia definitivo para identificar qualquer tipo de hash por seu comprimento, conjunto de caracteres e formato.

O que é um hash?

Um hash é uma string de comprimento fixo produzida por uma função matemática unidirecional. Insira qualquer entrada – uma senha, um arquivo, uma mensagem – em um algoritmo de hash e você obterá uma impressão digital exclusiva de tamanho fixo. A mesma entrada sempre produz a mesma saída, mas não é possível reverter o processo para recuperar a entrada original.

Funções hash são usadas em todos os lugares: armazenamento de senhas em bancos de dados, verificação de integridade de arquivos, assinaturas digitais e desduplicação de dados.

Como identificar um hash: o método rápido

A maneira mais rápida de identificar um hash é pelo seu contagem de caracteres e conjunto de caracteres. A maioria dos hashes é composta de caracteres hexadecimais (0–9, a–f), mas alguns algoritmos como bcrypt e SHA-512 crypt usam um alfabeto Base64 mais amplo.

Etapa 1: Conte os caracteres. Etapa 2: Observe o conjunto de caracteres (somente hexadecimal ou alfanumérico+especial). Etapa 3: Verifique se há um prefixo (bcrypt começa com $2b$, a cripta SHA-512 começa com $6$).

Ou apenas use nosso Ferramenta identificador de hash para identificá-lo automaticamente.

Tabela de referência de identificação de hash

Tipo de hash Comprimento Conjunto de caracteres Prefixo/Notas
MD5 32 Hex (0-9, af) Sem prefixo
SHA-1 40 Hexágono Sem prefixo
SHA-224 56 Hexágono Sem prefixo
SHA-256 64 Hexágono Sem prefixo
SHA-384 96 Hexágono Sem prefixo
SHA-512 128 Hexágono Sem prefixo
SHA3-256 64 Hexágono Indistinguível do SHA-256 por comprimento
SHA3-512 128 Hexágono Indistinguível do SHA-512 por comprimento
NTLM 32 Hexágono Mesmo comprimento do MD5 — o contexto é importante
MySQL 4.1+ 40 Hexágono Às vezes prefixado com *
bcrypt 60 Alfabeto Base64 Começa com $2a$, $2b$ou $2y$
Cripta SHA-512 106 Alfabeto Base64 Começa com $6$
Cripta SHA-256 63 Alfabeto Base64 Começa com $5$
Cripta MD5 34 Alfabeto Base64 Começa com $1$
Argônio2 Variável Base64 + $ Começa com $argon2id$ ou $argon2i$
criptografia Variável Base64 + $ Começa com $s0$
PBKDF2 Variável Base64 ou Hexadecimal Frequentemente prefixado com pbkdf2_sha256$
Hash LM 32 Hexágono Windows legado — duas metades de 16 caracteres
CRC32 8 Hexágono Muito curto — 4 bytes
Hidromassagem 128 Hexágono Menos comum
RIPEMD-160 40 Hexágono Mesmo comprimento do SHA-1
Adler-32 8 Hexágono Checksum, não um hash criptográfico

Identificando os hashes mais comuns

MD5 (32 caracteres hexadecimais)

Comando
5f4dcc3b5aa765d61d8327deb882cf99

MD5 é o hash mais comum que você encontrará. 32 caracteres hexadecimais minúsculos, sem prefixo. Ele foi amplamente usado para armazenamento de senhas, mas agora é considerado criptograficamente quebrado – é rápido de calcular, o que torna triviais os ataques de força bruta.

Comum em: Aplicativos web legados, somas de verificação de arquivos, desafios CTF, despejos de senha de banco de dados.

Limitação: MD5 e NTLM têm 32 caracteres hexadecimais. Se você encontrar um hash de 32 caracteres em um sistema Windows, provavelmente é NTLM. Em um aplicativo da web, provavelmente é MD5.

SHA-1 (40 caracteres hexadecimais)

Comando
5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8

40 caracteres hexadecimais. Obsoleto para a maioria dos usos de segurança desde 2017, mas ainda comum em sistemas mais antigos, commits Git, certificados SSL (legado) e somas de verificação de arquivos.

Comum em: IDs de objetos Git, certificados SSL mais antigos, ferramentas de verificação de arquivos.

SHA-256 (64 caracteres hexadecimais)

Comando
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8

O padrão atual para a maioria das aplicações. 64 caracteres hexadecimais. Usado em Bitcoin (SHA-256 duplo), assinaturas JWT, wrappers modernos de armazenamento de senhas e TLS.

Comum em: Blockchain, assinaturas de API, armazenamento de senhas (geralmente agrupadas em PBKDF2 ou HMAC), verificação de integridade de arquivos.

SHA-512 (128 caracteres hexadecimais)

Comando
b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86

128 caracteres hexadecimais. Mais forte, mas mais lento que o SHA-256. Usado em alguns hashing de senha do Linux (/etc/shadow) e aplicativos de alta segurança.

bcrypt (60 caracteres, semelhante a Base64)

Comando
$2b$12$EixZaYVK1fsbw1ZfbX3OXePaWxn96p36WQoeG6Lruj3vjPGga31lW

O formato hash mais reconhecível devido ao seu prefixo estruturado:

  • $2b$ (ou $2a$, $2y$) — versão do algoritmo
  • 12 — fator de custo (fator de trabalho), quantas rodadas
  • Tudo depois — salt de 53 caracteres + hash combinado

bcrypt é deliberadamente lento. Você não pode acelerar isso com uma GPU – e é por isso que é a escolha certa para hash de senha. Se você vir uma sequência de 60 caracteres começando com $2, é bcrypt.

Comum em: Aplicativos PHP (password_hash()), Ruby on Rails, os frameworks web mais modernos.

NTLM (32 caracteres hexadecimais)

Comando
b4b9b02e6f09a9bd760f388b67351e2b

Visualmente idêntico ao MD5 — 32 caracteres hexadecimais minúsculos. NTLM é o hash de autenticação legado do Windows. Se você estiver fazendo CTF ou pentestando sistemas Windows, eles aparecerão com frequência.

Como diferenciar MD5 de NTLM: Contexto. NTLM vem de bancos de dados SAM do Windows, Active Directory ou ferramentas como Mimikatz. MD5 normalmente vem de bancos de dados de aplicativos da web.

Argon2 (comprimento variável, prefixo estruturado)

Comando
$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub+b+dWRWJTmaaJObG

Vencedor do concurso de hash de senha de 2015. Projetado para ter muita memória, tornando-o resistente a ataques baseados em GPU e ASIC. Frameworks modernos (Django 4+, PHP 8.1+ nativo) estão adotando o Argon2id.

Detalhamento do prefixo: $argon2id$ = variante, v=19 = versão, m=65536 = custo de memória, t=3 = custo de tempo, p=4 = paralelismo.

Como identificar um hash quando o comprimento por si só não é suficiente

Alguns hashes têm comprimentos e conjuntos de caracteres idênticos:

Colisão Como distinguir
MD5 vs NTLM (32 hexadecimais) Contexto de origem — Windows = NTLM, web DB = MD5
SHA-1 vs RIPEMD-160 (40 hexadecimais) RIPEMD-160 é muito mais raro; SHA-1 é o palpite seguro
SHA-256 vs SHA3-256 (64 hexadecimais) Precisa de metadados ou ferramentas de algoritmo
SHA-512 vs SHA3-512 vs Whirlpool (128 hexadecimais) Precisa de contexto ou ferramenta hash-id

Quando o comprimento por si só não resolve o problema, você precisa:

  1. Verifique o sistema de origem (SO, estrutura do aplicativo, banco de dados)
  2. Tente quebrar um valor conhecido para confirmar o algoritmo
  3. Use uma ferramenta de identificador de hash que testa vários algoritmos

Usando uma ferramenta identificadora de hash

Em vez de contar caracteres manualmente, use nosso Identificador de hash — cole qualquer hash e ele irá:

  • Combine o comprimento e o conjunto de caracteres com todos os algoritmos conhecidos
  • Destaque os candidatos mais prováveis
  • Sinaliza formatos prefixados (bcrypt, SHA-crypt, Argon2) automaticamente

Isso é especialmente útil para desafios de CTF onde você encontra formatos de hash desconhecidos ou precisa processar vários hashes rapidamente.

Cenários do mundo real

Cenário 1: você tem um despejo de banco de dados

Você encontra uma tabela de usuários com um password coluna contendo strings de 60 caracteres começando com $2b$. Estes são hashes bcrypt. Modernos e implementados corretamente – quebrá-los é computacionalmente caro.

Cenário 2: desafio CTF — você encontra um arquivo hash

Comando
098f6bcd4621d373cade4e832627b4f6

32 caracteres hexadecimais → MD5. A corda test hashes para este valor em MD5. Um ataque rápido à lista de palavras com hashcat ou john quebrará senhas comuns instantaneamente.

Comando
hashcat -m 0 -a 0 hash.txt wordlist.txt

Modo -m 0 é MD5. Se fosse SHA-1, use -m 100. SHA-256 é -m 1400.

Cenário 3: Linux /etc/shadow

Comando
$6$rounds=5000$usesomesalt$IxDD3jerizQ5s/bS3FbSsO6hMGFjfSKNBWENHyJ7FXKC4XiuT3pOlLGEBpRiuJ3QGJlyXfS4uNIaVpqEcF2b.

Começa com $6$ → Cripta SHA-512. O formato é: $id$salt$hash onde id=6 significa SHA-512.

ID Algoritmo
$1$ Cripta MD5
$5$ Cripta SHA-256
$6$ Cripta SHA-512
$y$ simcrypt
$2b$ bcrypt

Referência do modo Hashcat

Se você estiver quebrando hashes (em sistemas que você está autorizado a testar), aqui estão os modos hashcat para os tipos mais comuns:

Tipo de hash Modo Hashcat
MD5 0
SHA-1 100
SHA-256 1400
SHA-512 1700
NTLM 1000
bcrypt 3200
Cripta SHA-512 ($6$) 1800
MySQL 4.1+ 300
WPA/WPA2 2500

Folha de referências de identificação rápida

  • 8 caracteres, hexadecimal → CRC32 ou Adler-32 (soma de verificação, não criptografada)
  • 32 caracteres, hexadecimal → MD5 ou NTLM
  • 40 caracteres, hexadecimal → SHA-1 ou RIPEMD-160
  • 56 caracteres, hexadecimal → SHA-224
  • 64 caracteres, hexadecimal → SHA-256 ou SHA3-256
  • 96 caracteres, hexadecimal → SHA-384
  • 128 caracteres, hexadecimal → SHA-512, SHA3-512 ou Whirlpool
  • 60 caracteres, começa com $2 → bcrypt
  • Começa com $1$ → Cripta MD5
  • Começa com $5$ → Cripta SHA-256
  • Começa com $6$ → Cripta SHA-512
  • Começa com $argon2 → Argônio2
  • Começa com pbkdf2_ → PBKDF2

Identifique seu hash agora

Use nosso aplicativo gratuito Ferramenta identificador de hash — cole qualquer hash e obtenha uma identificação instantânea com pontuações de confiança e algoritmos prováveis.

Ferramentas e guias relacionados: