PBKDF2 Generator
Derive and verify keys using PBKDF2 in the browser
100% free. Runs entirely in your browser - your files and data never leave your device and nothing is uploaded to any server.
What is PBKDF2?
PBKDF2 (Password-Based Key Derivation Function 2) is a key stretching algorithm designed to make brute-force attacks computationally expensive.
- Salt - a random value added before hashing to prevent rainbow table attacks. Each password should have a unique salt.
- Iterations - how many times the hash function is applied. Higher = slower to brute-force. NIST recommends 310,000+ for SHA-256.
- Key length - the size of the derived output in bits.
- Use cases - password storage, key stretching, encrypting private keys with a passphrase.
About this tool
PBKDF2 (Password-Based Key Derivation Function 2) derives a cryptographic key from a password by applying a hash function many times in a row - the repeated iterations deliberately slow down the process to resist brute-force attacks, similar in purpose to BCrypt/Argon2. This tool derives and verifies keys using PBKDF2 entirely in your browser.
How to use this tool
- Enter password and saltProvide test input and unique salt value for deterministic derivation.
- Set iteration and key lengthTune work factor and output size based on security/performance needs.
- Derive key outputGenerate PBKDF2 result for storage, comparison, or interoperability testing.
- Verify against expected valueConfirm compatibility with backend implementation or migration data.
How many PBKDF2 iterations to use
OWASP currently recommends 600,000 iterations for PBKDF2-HMAC-SHA256 and 210,000 for PBKDF2-HMAC-SHA512 when hashing passwords. Use a unique random salt of at least 16 bytes for each password, and store the salt and iteration count alongside the result.
PBKDF2 is widely supported and FIPS-approved, which is why it is common in enterprise systems and Wi-Fi (WPA2). For new systems without that requirement, Argon2id offers better resistance to GPU attacks.
Key features
- Helps tune PBKDF2 parameters with practical outputs.
- Supports compatibility checks across stacks and libraries.
- Useful for compliance environments requiring PBKDF2.
- Clarifies effect of iterations on brute-force resistance.
Common uses
- Testing password-derivation settings before production rollout.
- Verifying migration from legacy auth storage formats.
- Generating keys for encrypted local data workflows.
- Training teams on KDF fundamentals and parameter tradeoffs.
Tips for better results
- Always use unique random salt per credential.
- Benchmark iteration count on target production hardware.
- Store algorithm parameters with derived hash for future verification.
- Review compliance requirements for minimum iteration thresholds.
Mistakes to avoid
- Reusing salts across many users/password records.
- Setting iteration count too low for current hardware reality.
- Treating PBKDF2 output as directly reversible encryption key store.
- Testing only happy-path derivation without verification checks.
Frequently asked questions
How many times the underlying hash function is applied - higher iteration counts make the derivation slower and more resistant to brute-force attacks, at the cost of also taking longer for legitimate use.
PBKDF2 is a well-established, widely-used standard, though Argon2 (and to a lesser extent BCrypt) are generally considered to offer better resistance against specialized hardware attacks (like GPU cracking) due to their memory-hardness. PBKDF2 remains acceptable and is required in some compliance standards.
Computation runs in your browser, but as a general precaution, avoid using real production passwords in any third-party tool - use test values when exploring how PBKDF2 behaves.
OWASP's current guidance is 600,000 iterations for PBKDF2-HMAC-SHA256 when hashing passwords. Measure on your hardware and raise it as servers get faster.
A unique random salt per password means identical passwords produce different hashes and precomputed rainbow tables are useless. Use at least 16 random bytes and store the salt with the hash.
In Wi-Fi WPA2 keys, password managers deriving encryption keys, Django's default password hasher and many FIPS-compliant systems, where it is often required over newer algorithms.