Hash/Kripto
PBKDF2 Hash + Verify
Turunkan kunci dengan PBKDF2 (RFC 8018) dari kata sandi, HMAC-SHA1/256/384/512, dengan jumlah iterasi yang dapat disesuaikan.
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.
Artikel tentang alat ini: PBKDF2: standar peregangan kunci tertua
Pertanyaan yang sering diajukan
Bagaimana PBKDF2 berbeda dari bcrypt atau Argon2 untuk hashing kata sandi?
PBKDF2 menerapkan fungsi hash HMAC berulang kali untuk memperlambat brute-force, tetapi tidak seperti bcrypt atau Argon2, PBKDF2 tidak memory-hard, sehingga relatif lebih murah dipecahkan menggunakan GPU. Masih banyak digunakan dan disetujui FIPS, tetapi Argon2 umumnya lebih disukai untuk sistem baru.
Apa yang dikontrol oleh jumlah iterasi, dan seberapa tinggi seharusnya?
Jumlah iterasi menentukan berapa kali hash yang mendasarinya diterapkan, secara langsung menukar kecepatan dengan ketahanan brute-force. Panduan saat ini merekomendasikan ratusan ribu iterasi untuk SHA-256, disesuaikan naik seiring waktu saat perangkat keras semakin cepat.
Mengapa PBKDF2 memerlukan salt?
Salt memastikan kata sandi yang identik menghasilkan output berbeda, mencegah penyerang menggunakan rainbow table yang sudah dihitung sebelumnya dan memaksa mereka menyerang setiap hash secara individual.
Apakah fungsi hash dasar yang digunakan PBKDF2 itu penting?
Ya. Implementasi lama sering menggunakan HMAC-SHA1 secara default — dalam konstruksi HMAC ini bukan kerentanan kritis, tetapi rekomendasi modern dengan tegas menyarankan HMAC-SHA256 atau yang lebih kuat demi margin keamanan lebih besar tanpa kehilangan kecepatan yang berarti.
Di mana lagi PBKDF2 digunakan, selain penyimpanan kata sandi?
PBKDF2 banyak digunakan untuk menurunkan kunci enkripsi kriptografis dari kata sandi — misalnya, pada WPA2/WPA3 untuk Wi-Fi dan pada banyak format kontainer file terenkripsi.