Skip to content

Key-derivation functions

How to identify and crack a PBKDF2-HMAC-SHA1 hash

Identify a PBKDF2-HMAC-SHA1 hash and crack it with ready-to-run hashcat and John the Ripper commands. Slow by design.

hashcat mode -m 12000John format pbkdf2-hmac-sha1

PBKDF2-HMAC-SHA1 is a key-derivation hash type. It uses a deliberately slow, salted key-derivation scheme, so only weak or short passwords are realistically recoverable. This page shows how to recognise it and the exact commands to attack it.

All identification runs locally in WebAssembly. The commands below write the hash to a local file on your machine — nothing is sent to this site.

Identifying the hash

The hash identifier on the home page detects PBKDF2-HMAC-SHA1 entirely in your browser — your hash is never uploaded. A typical example looks like this:

sha1:1000:MzU4NTYwMTYzNTM1NTU=:o4DynLYDhqV9Tk7vw17XQDdmTcc=

Cracking PBKDF2-HMAC-SHA1 with hashcat

Save the hash to a file and run hashcat in mode -m 12000. Expect this to be slow — use a focused wordlist. Start with a wordlist such as rockyou.txt:

echo 'sha1:1000:MzU4NTYwMTYzNTM1NTU=:o4DynLYDhqV9Tk7vw17XQDdmTcc=' > hash.txt && hashcat -m 12000 hash.txt /usr/share/wordlists/rockyou.txt

Add a rule set to mutate dictionary words (capitalisation, leetspeak, appended digits) and dramatically widen coverage:

echo 'sha1:1000:MzU4NTYwMTYzNTM1NTU=:o4DynLYDhqV9Tk7vw17XQDdmTcc=' > hash.txt && hashcat -m 12000 hash.txt /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule

Cracking PBKDF2-HMAC-SHA1 with John the Ripper

John the Ripper can attack the same hash with the pbkdf2-hmac-sha1 format:

echo 'sha1:1000:MzU4NTYwMTYzNTM1NTU=:o4DynLYDhqV9Tk7vw17XQDdmTcc=' > hash.txt && john --format=pbkdf2-hmac-sha1 --wordlist=/usr/share/wordlists/rockyou.txt hash.txt