Rumah >pembangunan bahagian belakang >tutorial php >Sekiranya Saya Menyimpan Garam Secara Berasingan Apabila Menggunakan `password_hash()` PHP?

Sekiranya Saya Menyimpan Garam Secara Berasingan Apabila Menggunakan `password_hash()` PHP?

Barbara Streisand
Barbara Streisandasal
2024-12-29 06:23:10927semak imbas

Should I Store the Salt Separately When Using PHP's `password_hash()`?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn