Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mencincang Kata Laluan dengan Selamat dalam PHP Menggunakan bcrypt?

Bagaimanakah Saya Boleh Mencincang Kata Laluan dengan Selamat dalam PHP Menggunakan bcrypt?

DDD
Lepaskan: 2024-12-20 16:23:18
asal
400 orang telah melayarinya

How Can I Securely Hash Passwords in PHP Using bcrypt?

Menggunakan bcrypt untuk Pencincangan Kata Laluan dalam PHP

bcrypt ialah fungsi pencincangan kata laluan selamat yang sangat disyorkan untuk menyimpan kata laluan. Ia perlahan dan menggunakan sejumlah besar pusingan, menyukarkan penyerang untuk memaksa kata laluan secara kasar. Selain itu, ia menggunakan garam setiap kata laluan untuk menghalang jadual pelangi.

bcrypt dalam PHP

PHP tidak mempunyai fungsi bcrypt terbina dalam. Walau bagaimanapun, terdapat berbilang pilihan yang tersedia:

  • PHP 5.5 dan ke atas:

    password_hash('password', PASSWORD_DEFAULT); // Default settings
    password_hash('password', PASSWORD_BCRYPT, [
       'cost' => 11, // Set the number of rounds
    ]);
    Salin selepas log masuk
  • PHP 5.3.7 hingga 5.5 (dan RedHat PHP 5.3.3 ):

    • Pasang pustaka keserasian daripada GitHub.
    • Penggunaan adalah sama seperti PHP 5.5 .
  • Versi PHP sebelum ini 5.3.7:

    • Ditamatkan: Gunakan fungsi crypt(), tetapi sedar bahawa kaedah ini tidak selamat seperti pilihan di atas.

Contoh:

$bcrypt = new Bcrypt(15);
$hash = $bcrypt->hash('password');
$isGood = $bcrypt->verify('password', $hash);
Salin selepas log masuk

Faedah bcrypt

  • Boleh skala dengan perkakasan (nombor boleh dikonfigurasikan pusingan)
  • Kelambatan menjadikan serangan brute-force sukar
  • Garam setiap kata laluan menghalang jadual pelangi
  • Memerlukan garam, pusingan dan kata laluan untuk pengesahan

Ingat, sentiasa simpan garam bersama kata laluan yang dicincang. Jangan sekali-kali menyimpan kata laluan teks biasa dalam pangkalan data atau mana-mana sumber kongsi lain. Dengan menggunakan bcrypt, anda boleh melindungi kata laluan pengguna anda dengan cekap dan selamat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencincang Kata Laluan dengan Selamat dalam PHP Menggunakan bcrypt?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan