Argon2 Generator
Buat hash kata sandi Argon2id dengan salt acak 16 byte dan pilihan memori, iterasi, paralelisme, serta panjang hash. Memori dibatasi hingga 64 MiB dan iterasi hingga 4; nilai default mengikuti standar OWASP, yaitu 19 MiB dan 2 putaran. Alat ini menghasilkan string PHC standar yang diawali $argon2id$v=19$, yang dapat diverifikasi oleh PHP, libsodium, dan pustaka argon2. Kata sandi tidak pernah ditampilkan kembali.
Pertanyaan yang sering diajukan
Apa itu Argon2id?
Argon2 memenangkan Kompetisi Hashing Kata Sandi pada 2015 dan ditetapkan dalam RFC 9106. Argon2id adalah varian hibrida yang tahan terhadap serangan saluran samping dan GPU. OWASP dan RFC merekomendasikan varian ini untuk penyimpanan kata sandi.
Apa arti pengaturan memori, iterasi, dan paralelisme?
Memori menentukan jumlah MiB yang digunakan setiap hash, iterasi menentukan jumlah putaran pemrosesan atas memori tersebut, dan paralelisme menentukan jumlah jalur. Memori dan iterasi yang lebih tinggi membuat setiap tebakan lebih mahal bagi penyerang. Di sini, rentang memori adalah 1 hingga 64 MiB, iterasi 1 hingga 4, dan paralelisme 1 hingga 4.
Pengaturan mana yang sebaiknya saya gunakan?
Nilai default-nya adalah 19 MiB, 2 iterasi, dan 1 jalur, sesuai minimum OWASP untuk Argon2id. Nilai default PHP adalah 64 MiB dengan 4 iterasi, yang juga dapat Anda terapkan di sini. Untuk penggunaan produksi, gunakan memori sebanyak mungkin yang dapat disediakan server Anda untuk setiap login.
Mengapa memori dan iterasi dibatasi?
Setiap hash benar-benar mengalokasikan memori yang Anda minta dan menjalankan setiap putaran di server bersama. Batas 64 MiB dan 4 iterasi menjaga setiap permintaan tetap selesai dalam waktu kurang dari satu detik, sekaligus mencakup pengaturan produksi yang umum.
Apa saja isi string keluaran?
Hasil seperti $argon2id$v=19$m=19456,t=2,p=1$ diikuti salt dan hash mencantumkan varian, versi, memori dalam KiB, iterasi, dan jalur. Salt dan hash menggunakan Base64 tanpa padding. Simpan seluruh string tersebut karena verifikasi membaca semua parameternya dari sana.
Mengapa hash-nya berbeda setiap kali?
Setiap permintaan menggunakan salt acak baru sepanjang 16 byte, sehingga kata sandi yang sama menghasilkan string berbeda setiap kali. Semua hash tersebut dapat diverifikasi dengan kata sandi yang benar.
Bisakah saya memilih panjang hash?
Ya, dari 16 hingga 64 byte, dengan 32 byte sebagai nilai default. Tag yang lebih panjang tidak membuat tebakan lebih sulit, jadi 32 byte sudah cukup untuk penyimpanan kata sandi.
Sistem apa saja yang menerima hash ini?
PHP password_verify, crypto_pwhash_str_verify milik libsodium, paket argon2 untuk Node.js, argon2-cffi untuk Python, dan Spring Security semuanya membaca format string PHC. Argon2 Verifier di situs ini juga dapat memeriksanya.
Apakah kata sandi saya disimpan atau dikembalikan?
Tidak. Kata sandi hanya digunakan di memori untuk menghitung hash dan dihapus dari respons. Kata sandi tidak pernah dicatat atau disimpan.
Bisakah saya membuat hash Argon2i atau Argon2d?
Tidak. Alat ini hanya menghasilkan Argon2id karena varian ini direkomendasikan untuk kata sandi. Argon2 Verifier tetap menerima hash Argon2i dan Argon2d.