Skip to content

Raw & unsalted hashes

How to identify and crack an HMAC-SHA1 (key = $salt) hash

Identify an HMAC-SHA1 (key = $salt) hash and crack it with ready-to-run hashcat and John the Ripper commands. Fast on a GPU.

hashcat mode -m 160John format hmac-sha1

HMAC-SHA1 (key = $salt) is an raw / unsalted hash type. It is fast and typically unsalted, which makes weak passwords recoverable quickly on consumer GPU hardware. 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 HMAC-SHA1 (key = $salt) entirely in your browser — your hash is never uploaded. A typical example looks like this:

c898896f3f70f61bc3fb19bef222aa860e5ea717:1234

Cracking HMAC-SHA1 (key = $salt) with hashcat

Save the hash to a file and run hashcat in mode -m 160. Start with a wordlist such as rockyou.txt:

echo 'c898896f3f70f61bc3fb19bef222aa860e5ea717:1234' > hash.txt && hashcat -m 160 hash.txt /usr/share/wordlists/rockyou.txt

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

echo 'c898896f3f70f61bc3fb19bef222aa860e5ea717:1234' > hash.txt && hashcat -m 160 hash.txt /usr/share/wordlists/rockyou.txt -r /usr/share/hashcat/rules/best64.rule

Cracking HMAC-SHA1 (key = $salt) with John the Ripper

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

echo 'c898896f3f70f61bc3fb19bef222aa860e5ea717:1234' > hash.txt && john --format=hmac-sha1 --wordlist=/usr/share/wordlists/rockyou.txt hash.txt