Storan Kata Laluan Selamat: SHA1 vs md5 vs SHA256 vs bcrypt
Apabila mereka bentuk sistem log masuk selamat, pilihan algoritma pencincangan adalah penting. Pilihan tradisional, SHA1, md5 dan SHA256, mempunyai kelemahan yang diketahui. Walaupun garam boleh mengurangkan risiko ini, adalah penting untuk mempertimbangkan alternatif yang lebih mantap.
bcrypt: The Preferred Choice
Jawapan kepada "Algoritma pencincangan yang manakah untuk digunakan untuk PHP log masuk?" adalah jelas: bcrypt. Tidak seperti SHA1, md5 dan SHA256, bcrypt direka untuk keselamatan, bukan kelajuan. Ia menggunakan proses pencincangan yang lebih perlahan dengan pusingan dan garam yang kompleks untuk menghalang serangan kekerasan.
Pelaksanaan PHP 5.5
Versi moden PHP (5.5 ) menyediakan sokongan bcrypt asli melalui fungsi password_hash():
<code class="php">// Creating a hash $hash = password_hash($password, PASSWORD_DEFAULT, ['cost' => 12]); // Verifying the password against the stored hash if (password_verify($password, $hash)) { // Success! Log the user in here. }</code>
Versi PHP Lama
Untuk versi PHP yang lebih lama, anda boleh menggunakan perpustakaan password_compat untuk melaksanakan bcrypt:
<code class="php">// Creating a hash $hash = password_compat_hash($password, PASSWORD_BCRYPT); // Verifying the password against the stored hash if (password_compat_verify($password, $hash)) { // Success! Log the user in here. }</code>
Awas
bcrypt mempunyai dua kaveat penting:
Daripada membuat penyelesaian anda sendiri, gunakan pustaka selamat seperti ZendCrypt atau PasswordLock.
Kesimpulan
Untuk penyimpanan kata laluan selamat dalam PHP, gunakan bcrypt. Ia menyediakan perlindungan yang tiada tandingan terhadap peretasan kata laluan, memastikan integriti sistem log masuk anda.
Atas ialah kandungan terperinci Algoritma Hashing Mana yang Terbaik untuk Penyimpanan Kata Laluan Selamat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!