Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mencincang Kata Laluan dengan Selamat dalam PHP Menggunakan Bcrypt?

Bagaimana untuk Mencincang Kata Laluan dengan Selamat dalam PHP Menggunakan Bcrypt?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-30 17:14:12331semak imbas

How to Securely Hash Passwords in PHP Using Bcrypt?

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!

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