Cara Menggunakan Bcrypt untuk Pencincangan Kata Laluan dalam PHP
Bcrypt ialah algoritma pencincangan yang diiktiraf, terkenal dengan kebolehskalaan dan kecekapannya. Ia menggabungkan bilangan pusingan yang boleh dikonfigurasikan semasa proses pencincangan, menjadikan serangan kekerasan secara pengiraan mahal dan tidak praktikal. Tambahan pula, ia mewajibkan penggunaan garam, memastikan kata laluan yang sama menghasilkan cincangan yang berbeza, menghalang serangan yang diprakira.
Pelaksanaan bcrypt dalam PHP
PHP versi 5.5 dan ke atas sokongan asli pencincangan kata laluan. Gunakan fungsi password_hash() untuk menjana cincangan bcrypt:
echo password_hash('rasmuslerdorf', PASSWORD_DEFAULT) . "\n"; // e.g., y$xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Untuk mengesahkan kata laluan yang dimasukkan pengguna terhadap cincang sedia ada:
$hash = 'y$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq'; if (password_verify('rasmuslerdorf', $hash)) { echo 'Password is valid!'; } else { echo 'Invalid password.'; }
Penggunaan Bcrypt dalam Versi PHP Sebelum 5.5
Untuk PHP versi 5.3.7 dan lebih rendah, gunakan fungsi crypt() digabungkan dengan kelas keserasian Bcrypt yang boleh dimuat turun daripada GitHub.
Segera kelas Bcrypt:
$bcrypt = new Bcrypt(15);
Cincang kata laluan:
$hash = $bcrypt->hash('password');
Sahkan kata laluan:
$isGood = $bcrypt->verify('password', $hash);
Kesimpulan
Bcrypt ialah alat yang sangat diperlukan untuk melindungi kata laluan pengguna, menghalang akses tanpa kebenaran dan mengekalkan integriti data. Melaksanakan bcrypt dalam PHP ialah langkah perlindungan penting yang melindungi aplikasi anda daripada serangan berasaskan kata laluan.
Atas ialah kandungan terperinci Bagaimana untuk Mencincang Kata Laluan dengan Selamat dalam PHP Menggunakan Bcrypt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!