Lithe Hash ialah modul teguh yang direka untuk mencincang kata laluan dengan selamat menggunakan algoritma Bcrypt. Modul ini memudahkan proses mencipta, mengesahkan dan mengurus cincang kata laluan, memastikan amalan terbaik keselamatan dipatuhi.
Untuk memasang pakej lithemod/hash, anda boleh menggunakan Composer. Jalankan arahan berikut dalam terminal anda:
composer require lithemod/hash
Ini akan menambah pakej pada kebergantungan projek anda, membolehkan anda menggunakan kelas Hash dalam aplikasi anda.
Sebelum menggunakan kelas Hash, anda mesti mengimportnya dalam fail PHP anda:
use Lithe\Support\Security\Hash;
Untuk mencipta cincang daripada kata laluan, gunakan kaedah buat. Kaedah ini menerima kata laluan dan pelbagai pilihan pilihan:
$hash = Hash::make('your_password', ['cost' => 10]);
Parameter:
Pulangan: Rentetan cincang yang boleh disimpan dalam pangkalan data.
Contoh:
$password = 'my_secure_password'; $hash = Hash::make($password, ['cost' => 12]); echo "Hashed Password: " . $hash;
Untuk menyemak sama ada kata laluan yang diberikan sepadan dengan cincang, gunakan kaedah semak:
$isValid = Hash::check('your_password', $hash); if ($isValid) { echo 'Password is valid!'; } else { echo 'Invalid password.'; }
Parameter:
Pulangan: benar jika kata laluan sepadan dengan cincang; palsu sebaliknya.
Contoh:
if (Hash::check('my_secure_password', $hash)) { echo 'Password is correct!'; } else { echo 'Password is incorrect!'; }
Anda boleh menentukan sama ada cincang perlu dicincang semula (contohnya, jika anda menukar faktor kos) menggunakan kaedah needsRehash:
$needsRehash = Hash::needsRehash($hash, ['cost' => 14]); if ($needsRehash) { // Rehash with a new cost $hash = Hash::make('your_password', ['cost' => 14]); }
Parameter:
Pulangan: benar jika cincang perlu dicincang semula; palsu sebaliknya.
Contoh:
if (Hash::needsRehash($hash, ['cost' => 15])) { $hash = Hash::make('my_secure_password', ['cost' => 15]); echo "Rehashed Password: " . $hash; }
Bcrypt ialah fungsi pencincangan kata laluan yang digunakan secara meluas yang direka untuk menjadi perlahan dan intensif secara pengiraan, menjadikannya tahan terhadap serangan kekerasan. Dengan menggunakan faktor kos boleh dikonfigurasikan, Bcrypt membolehkan anda meningkatkan kesukaran pencincangan apabila perkakasan menjadi lebih pantas.
Kaedah buat membuang InvalidArgumentException jika kos ditetapkan di luar julat yang sah (4 hingga 31). Anda harus mengendalikan perkara ini dalam kod anda untuk memastikan keteguhan:
composer require lithemod/hash
Dengan Lithe Hash, anda boleh mengurus kata laluan dengan selamat dan cekap sambil mengikuti amalan terbaik keselamatan. Jika anda mempunyai sebarang soalan atau cadangan, sila komen!
Atas ialah kandungan terperinci Lithe Hash: Modul Teguh untuk Hashing Kata Laluan Selamat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!