crack-time.tools

Password hashing parameters: Argon2id, bcrypt, scrypt & PBKDF2

The current OWASP-recommended settings for storing passwords, quoted from the source, with the attack speed we measured for each setting on a real GPU, and a calculator that measures your own device to find the right PBKDF2 iteration count. If you run a service, this is the one decision that turns a breach from a catastrophe into a shrug.

OWASP's guidance: use Argon2id; if it is not available, scrypt. bcrypt is for legacy systems, and PBKDF2 for systems that must be FIPS-140 compliant.

Argon2id (first choice)

Any one row is acceptable: pick by how much memory your server can spare. Use the id variant.

Memory (m)Iterations (t)Parallelism (p)Attack speed, Radeon 8060S
47104 KiB (46 MiB)112,014/s
19456 KiB (19 MiB)212,011/s
12288 KiB (12 MiB)31not measured
9216 KiB (9 MiB)41not measured
7168 KiB (7 MiB)512,009/s

scrypt (second choice)

N (cost)r (block)p (parallelism)Attack speed, Radeon 8060S
2^17 (128 MiB)81177/s
2^16 (64 MiB)82not measured
2^15 (32 MiB)83not measured
2^14 (16 MiB)85not measured
2^13 (8 MiB)810not measured

bcrypt (legacy)

Work factor (cost) of at least 10, as high as your login-latency budget allows. Maximum input length is 72 bytes in most implementations, so either enforce a 72-byte maximum or pre-hash with a peppered HMAC as OWASP describes (see choosing a password hash for the traps). Use only where Argon2id and scrypt are unavailable. We measured 318 guesses per second against cost 12 on the Radeon 8060S. Each step of cost doubles the work, so cost 10 is about 1,270 per second and cost 14 about 80.

PBKDF2 (FIPS / legacy)

PRFIterationsNoteAttack speed, Radeon 8060S
PBKDF2-HMAC-SHA256600,000OWASP recommended3,816/s
PBKDF2-HMAC-SHA512220,0002,963/s
PBKDF2-HMAC-SHA11,400,000legacy onlynot measured

What the attack speeds mean

The speed column is how many guesses per second hashcat 7.1.2 managed against a hash made with that exact setting, on the AMD Radeon 8060S in our test machine. Lower is better for the defender.

Calibrate PBKDF2 for your device

Runs PBKDF2-HMAC-SHA256 in your browser to find the iteration count that hits a target time on this hardware. Compare it against the 600,000 floor, and never go lower. Runs entirely locally.

Frequently asked questions

Source. OWASP Password Storage Cheat Sheet (current version), verified against the published page and the source markdown. OWASP lists several acceptable Argon2id and scrypt configurations as memory/time trade-offs, not one "best" value. The calibrator measures PBKDF2-SHA256 via the Web Crypto API; browser timing is a rough proxy for server timing, so treat its number as a starting point and never drop below the 600,000 floor. Not a substitute for a security review. Attack speeds: hashcat 7.1.2 on an AMD Radeon 8060S, 1 November 2026; method on the hash rates page. How password cracking actually works →