PBKDF2 Hash Calculator

hash

All hashing runs in your browser. Data is never sent to any server.

📋 Salt interpretation · Output format · Verification guide
Salt interpretation
  • Even length + only 0-9, a-f, A-F → decoded as hex (e.g. a1b2c3d4...)
  • Otherwise → used as UTF-8 text
Output format

Only the derived key is output as a hex string. Salt, iterations, hash, and key length must be stored separately.

Verification

Password, Salt, Iterations, Hash, and Derived key (hex) must all match for verification to succeed.

Comparing with other sites

Other tools may use different salt encoding (hex vs UTF-8) or output formats. Our implementation produces the same results as Node.js/Python standard libraries.

Password Input

Verify Password

1. How to Use

  1. Enter your password in the input box.
  2. Set salt (or use Random), iterations, hash algorithm, key length.
  3. Choose Salt format (Auto for hex salt, UTF-8 for cross-tool compatibility).
  4. Click 'Generate' and use Verify to test password against derived key.
  5. Copy derived key (hex) and salt for storage; parameters must be stored too.

2. How It Works

PBKDF2 (RFC 2898): DK = PBKDF2(PRF, password, salt, c, dkLen) where PRF is HMAC with a hash (e.g., HMAC-SHA256).

Formula: U₁ = PRF(password, salt||INT(1)); Uᵢ = PRF(password, Uᵢ₋₁); Tᵢ = U₁⊕U₂⊕...⊕Uᵢ. DK = T₁||T₂||... truncated to dkLen.

Iterations: c iterations (e.g., 100,000) make each candidate guess expensive. Salt ensures different users get different keys even with same password.

HMAC: HMAC(K,m) = H((K'⊕opad)||H((K'⊕ipad)||m)) with opad=0x5c repeated, ipad=0x36 repeated.

3. About PBKDF2

PBKDF2 is the classic password-based key derivation function (RFC 2898). Used in TLS, WPA2, Django, and many frameworks.

This PBKDF2 hash calculator derives keys with configurable iterations, hash (SHA-1/256/384/512), salt, and key length. Salt format options support cross-tool compatibility.

All processing runs locally.

4. Advantages

  • Standard: Widely implemented and standardized.
  • Configurable: Adjust iterations for security vs. performance.
  • Hash flexibility: Use SHA-256, SHA-512, etc.
  • Compatibility: Works with Django, Node, Python, etc.

5. Real-World Use Cases

  • Password hashing: Django, Laravel, and others use PBKDF2.
  • Key derivation: Derive encryption keys from passwords.
  • TLS/WPA2: Key derivation in network protocols.
  • Legacy systems: When PBKDF2 is required.