Bcrypt dan Garam Dijana: Pemahaman Lebih Dalam
Dalam konteks keselamatan kata laluan, bcrypt sering digunakan untuk mencipta kata laluan selamat. Walau bagaimanapun, salah tanggapan mungkin timbul mengenai penggunaan garam yang dijana secara rawak dan kesannya terhadap pengesahan kata laluan.
Memahami Penjanaan Garam
Kelas yang disediakan dalam soalan termasuk fungsi yang menghasilkan garam rawak menggunakan fungsi openssl_random_pseudo_bytes(). Garam ini berfungsi sebagai lapisan keselamatan tambahan dengan menghalang serangan pelangi, yang mengeksploitasi cincang prakiraan.
Peranan Garam dalam Pencincangan
Apabila bcrypt digunakan untuk pencincangan kata laluan, ia menggabungkan kata laluan dengan garam yang dihasilkan. Garam ini disertakan dalam output cincang, memastikan kata laluan yang sama akan menghasilkan cincang yang berbeza dengan garam yang berbeza.
Pengesahan Kata Laluan
Fungsi pengesahan dalam kelas mengambil masa kata laluan dan kata laluan cincang sebagai input. Ia mencincang kata laluan yang dibekalkan menggunakan garam yang disimpan dalam kata laluan yang dicincang dan membandingkan hasilnya dengan kata laluan yang dicincang.
Kesan Garam dalam Pengesahan
Di sinilah kekeliruan timbul . Apabila mengesahkan kata laluan, garam yang sama mesti digunakan seperti yang digunakan untuk menjana cincang. Garam ini dibenamkan dalam kata laluan yang dicincang.
Apabila fungsi pengesahan dipanggil dengan kata laluan yang betul, fungsi tersebut mencincang kata laluan yang dibekalkan menggunakan garam yang diekstrak daripada kata laluan yang dicincang. Hasil cincang ini akan sepadan dengan kata laluan cincang yang disimpan, kerana ia dijana dengan kata laluan dan garam yang sama.
Dengan kata lain, proses pengesahan tidak berlaku secara berasingan. Garam adalah bahagian penting dalam cincang, memastikan kata laluan disahkan dengan betul tanpa bergantung semata-mata pada rawak garam.
Atas ialah kandungan terperinci Adakah Penggunaan Garam Terhasil Memberi Impak kepada Pengesahan Kata Laluan dalam Bcrypt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!