Hashe/Krypto
PBKDF2 Hash + Verify
Wyprowadź klucz za pomocą PBKDF2 (RFC 8018) z hasła, HMAC-SHA1/256/384/512, z konfigurowalną liczbą iteracji.
PBKDF2 (RFC 8018) applies HMAC to a password and salt repeatedly to deliberately slow down computation — it's the oldest of the standardized algorithms for password hashing and encryption key derivation.
How to use it
- Derive: enter a password, pick an HMAC algorithm (SHA-1/256/384/512), and set the iteration count to get a derived key of the requested length.
- Verify: paste a password and an existing PBKDF2 hash to check whether they match, without recomputing it manually.
- More iterations means slower, more secure computation — tune the value to your server's response-time budget.
Common uses
- Deriving an encryption key from a user's password for a file container or a custom protocol.
- Checking a PBKDF2 implementation for compatibility across programming languages (the parameters must match exactly).
- Hashing passwords in systems that require a FIPS-compliant algorithm (PBKDF2 is NIST-approved).
Things to keep in mind
Unlike bcrypt and Argon2, PBKDF2 isn't memory-hard — it only requires CPU time, so it's less resistant to attacks on GPUs with many parallel compute units.
The recommended iteration count rises over time in NIST and OWASP guidance as hardware gets faster — check against current recommendations periodically.
Artykuł o tym narzędziu: PBKDF2: najstarszy standard rozciągania klucza
Najczęstsze pytania
Czym PBKDF2 różni się od bcrypt czy Argon2 przy hashowaniu haseł?
PBKDF2 wielokrotnie stosuje funkcję hash HMAC, by spowolnić brute-force, ale w przeciwieństwie do bcrypt czy Argon2 nie jest wymagający pamięciowo, więc jest stosunkowo tańszy do złamania przy użyciu GPU. Wciąż jest szeroko stosowany i zatwierdzony przez FIPS, ale dla nowych systemów zwykle preferuje się Argon2.
Co kontroluje liczba iteracji i jak wysoka powinna być?
Liczba iteracji określa, ile razy stosowany jest bazowy hash, bezpośrednio zamieniając szybkość na odporność na brute-force. Aktualne wytyczne zalecają setki tysięcy iteracji dla SHA-256, zwiększane z czasem wraz z przyspieszaniem sprzętu.
Dlaczego PBKDF2 potrzebuje soli?
Sól zapewnia, że identyczne hasła dają różne wyniki, uniemożliwiając atakującym użycie wcześniej obliczonych tablic tęczowych i zmuszając ich do atakowania każdego hasha osobno.
Czy ma znaczenie, jakiej bazowej funkcji skrótu używa PBKDF2?
Tak. Starsze implementacje często domyślnie używały HMAC-SHA1 — w konstrukcji HMAC nie jest to krytyczna podatność, ale współczesne zalecenia jednoznacznie rekomendują HMAC-SHA256 lub silniejszy, ze względu na większy margines bezpieczeństwa bez odczuwalnej utraty szybkości.
Gdzie jeszcze wykorzystuje się PBKDF2, poza przechowywaniem haseł?
PBKDF2 jest szeroko stosowany do wyprowadzania kluczy kryptograficznych szyfrowania z haseł — na przykład w WPA2/WPA3 dla Wi-Fi oraz w wielu formatach zaszyfrowanych kontenerów plikowych.