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.
Part of a module
3. Hashes, identification and cracking
Identify a digest by shape, understand why hashing is one-way, and learn where wordlist cracking works and where it is a trap.
Practise on real challenges
Go deeper
- Hash cracking that actually works: identify, wordlist, rules, maskCracking is a search problem, and most failed attempts are searches aimed at the wrong space. How to identify a hash from its shape, choose between wordlist, rules, and mask attacks, and recognise the hashes you should not be brute-forcing at all.
- The first ten minutes: a triage playbook for any CTF challengeMost challenges are lost to flailing, not to difficulty. Here is a repeatable order of operations for an unknown blob, an unknown file, and an unknown service - and the point at which you should stop guessing and start reading.
Related tools
In-browser hash cracker with rule transforms
Crack MD5, SHA-1, SHA-256, SHA-384, and SHA-512 against a wordlist in your browser, with leetspeak, case, reversal, and digit-append rules.
MD5, SHA-1 and SHA-256 hash generator
Compute MD5, SHA-1, SHA-256, SHA-384, and SHA-512 of any text in the browser, using Web Crypto. Nothing is sent anywhere.
SHA-3, BLAKE2, Keccak and RIPEMD calculator
Compute the hash functions outside the standard set - SHA-3, Keccak, BLAKE2, and RIPEMD-160 - when SHA-2 does not match.
Cipher identifier and automatic decoder
Paste anything and find out what it is. ctfpal runs every decoder and rotation, including multi-pass cascades, and ranks results by English-likeness and flag patterns.