Menggunakan PHP 5.5's password_hash dan password_verify Fungsi untuk Storan Kata Laluan Selamat
Soalan:
Apabila menggunakan fungsi password_hash() PHP 5.5 untuk menyimpan kata laluan pengguna, seharusnya garam disimpan secara berasingan daripada hash?
Jawapan:
Tidak, menyimpan garam secara berasingan daripada hash adalah tidak betul. Fungsi password_hash() menjana rentetan yang mengandungi kedua-dua cincang dan garam. Berikut ialah cara yang betul untuk menggunakannya:
$hashAndSalt = password_hash($password, PASSWORD_BCRYPT); // Insert $hashAndSalt into database against user
Untuk mengesahkan kata laluan:
if (password_verify($password, $hashAndSalt)) { // Verified }
Pendekatan ini menyediakan keselamatan optimum kerana ia menghalang penyerang daripada mengakses garam dan menjejaskan cincangan. Selain itu, adalah disyorkan untuk menggunakan mysqli dan bukannya ext/mysql, yang ditamatkan dalam PHP 5.5 dan untuk mengetahui kelemahan suntikan SQL.
Atas ialah kandungan terperinci Sekiranya Saya Menyimpan Garam Secara Berasingan Apabila Menggunakan `password_hash()` PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!