Hash identifier with hashcat mode lookup
Identify a hash from its shape and prefix - MD5, SHA family, bcrypt, NTLM, and the salted formats - and get the hashcat mode number to crack it.
Open in ctfpalHash identification is mostly arithmetic plus prefix matching. Length narrows the field to a handful of candidates; a prefix like $2b$ or $argon2id$ collapses it to one. What identification cannot do is distinguish algorithms that share a digest size - MD5, NTLM, and MD4 are all 32 hex characters - so the honest answer is often a ranked list rather than a single name.
Identification matters because it decides whether the challenge is solvable by cracking at all. A fast unsalted digest means a wordlist attack is the intended path; a deliberately slow function means it is not, and you should be looking for the input somewhere else entirely. Getting this wrong costs hours of futile brute force against something engineered to resist exactly that.
Length first
| Length | Candidates | hashcat mode |
|---|---|---|
| 32 hex | MD5, NTLM, MD4, LM (double) | 0 / 1000 / 900 |
| 40 hex | SHA-1, MySQL 4.1+ (with *) | 100 / 300 |
| 56 hex | SHA-224 | 1300 |
| 64 hex | SHA-256, SHA3-256, BLAKE2s | 1400 / 17400 |
| 96 hex | SHA-384 | 10800 |
| 128 hex | SHA-512, SHA3-512 | 1700 / 17600 |
Prefixes remove the ambiguity
$1$- MD5-crypt.$5$- SHA-256-crypt.$6$- SHA-512-crypt.$2a$,$2b$,$2y$- bcrypt. The number after it is the cost; 12 means 2^12 rounds and a very slow crack.$argon2id$- Argon2. Memory-hard by design; wordlist cracking is usually not the intended path.$pbkdf2-sha256$- PBKDF2, iteration count embedded.{SSHA}- salted SHA-1, base64-encoded, common in LDAP dumps.
Worked example
An unsalted digest
Input
5f4dcc3b5aa765d61d8327deb882cf99Result
32 hex -> MD5 (mode 0), NTLM (mode 1000), MD4 (mode 900). This one is MD5("password").The most-cracked hash in existence - any wordlist finds it instantly.
Load this example in the workspaceCommon questions
- Can a hash be decrypted?
- No. Hashing is one-way by design. What people mean by decrypting a hash is guessing an input that produces the same digest, which is what a [wordlist cracker](/tools/hash-cracker) does.