Apabila melindungi kata laluan pengguna dalam pangkalan data, adalah penting untuk menggunakan teknik penyulitan yang mantap. PHP 5.5 memperkenalkan dua fungsi penting, password_hash() dan password_verify(), direka khusus untuk tujuan ini. Mari kita mendalami penggunaannya yang betul.
Kaedah cadangan anda, yang melibatkan pemindahan kos dan garam unik kepada password_hash(), adalah tidak optimum. Sebaliknya, bergantung pada garam terbina dalam dan mekanisme kos, yang selamat menjana nilai ini secara dalaman. Fungsi ini mengembalikan cincang yang menggabungkan kedua-dua cincang dan garam.
Menyimpan Hash dan Garam:
$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
Masukkan $hashAndSalt ke dalam pangkalan data dan bukannya membelah garam dan hash.
Mengesahkan Kata laluan:
if (password_verify($password, $hashAndSalt)) { // Verified }
Dapatkan $hashAndSalt daripada pangkalan data dan bandingkan terus dengan kata laluan yang disediakan menggunakan password_verify(). Ia akan mengendalikan perbandingan garam secara dalaman.
Pertimbangan Keselamatan Tambahan:
Walaupun menggunakan fungsi ini adalah satu langkah ke arah pengurusan kata laluan selamat, pertimbangkan langkah tambahan seperti:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan dan Mengesahkan Kata Laluan Pengguna dengan Selamat dalam PHP 5.5 Menggunakan password_hash() dan password_verify()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!