🎯
🔑
🧬
⚙️
{{ iterations.toLocaleString() }}
{{ length }} bytes
🔄 Random salt will be generated automatically
🔍
🔐
{{ result.hash }}
{{ result.base64Hash }}
{{ result.formattedHash }}
Algorithm: {{ result.algorithmName }}
Iterations: {{ result.iterations?.toLocaleString() }}
Length: {{ result.length }} bytes
Salt: {{ result.salt }} ({{ result.saltLength }} chars)
{{ verifyResult.verified ?'✅' :'❌' }}
Algorithm: {{ verifyResult.info.algorithmName }}
Iterations: {{ verifyResult.info.iterations?.toLocaleString() }}
Length: {{ verifyResult.info.length }} bytes
Salt: {{ verifyResult.info.salt }} ({{ verifyResult.info.saltLength }} chars)
Error: {{ verifyResult.error }}
🔬
Security Level: {{ getSecurityInfo().level }}
Security Score: {{ getSecurityInfo().score }}/2.0
Iteration Ratio: {{ getSecurityInfo().iterationRatio }}x recommended
Est. Computation Time: {{ formatTime(getSecurityInfo().estimatedTimeMs) }}
Security Notes:
- {{ note }}
🧪
💡
- Use SHA-256 with 310,000+ iterations for new applications
- Use SHA-512 with 210,000+ iterations for high security
- Always use a random salt of at least 16 bytes
- Test performance on your production hardware
- Store the complete formatted hash including all parameters
- Avoid MD5 and SHA-1 for new applications
⚠️
ℹ️ About PBKDF2 Generator
PBKDF2 (Password-Based Key Derivation Function 2) derives a cryptographic key from a password, salt, iteration count, and pseudorandom function. It is specified in RFC 8018 as part of PKCS #5 and is still widely supported in platform APIs, password-hash migration tooling, encrypted file formats, and authentication systems that need standards-based compatibility.
Why PBKDF2?
- Industry standard: referenced by NIST password guidance in SP 800-63B and available in many runtimes.
- Configurable iterations: increases attacker cost by repeating HMAC many times.
- Salt support: unique salts prevent precomputed rainbow-table reuse across accounts.
- Verification mode: compare a candidate password against stored parameters during migration or testing.
- Compatibility: useful when a system cannot move to memory-hard schemes yet.
Algorithm Support:
- SHA-256: good default for modern PBKDF2 deployments.
- SHA-512: common on 64-bit systems and sensitive-data workflows.
- SHA-384: supported for compatibility with specific policies.
- SHA-1: legacy compatibility only; avoid for new designs unless required by an existing format.
- MD5: not recommended for password storage; included only when analyzing old data.
Parameter Guidelines:
- Iterations: tune on your production hardware so verification is slow enough to resist guessing but fast enough for sign-in traffic.
- Hash length: 32 bytes (256 bits) is a practical default for many applications.
- Salt: use a random 16-byte or longer salt for each password.
- Modern alternatives: prefer memory-hard algorithms such as Argon2 from RFC 9106 when compatibility allows.
- Privacy: use sample passwords in this web tool; do not paste production secrets.
API Usage Example:
POST /api/tools/crypto/pbkdf2
Content-Type: application/json
{
"password": "mySecretPassword123",
"algorithm": "sha256",
"iterations": 310000,
"length": 32,
"salt": null
}