Rumah >pembangunan bahagian belakang >tutorial php >Lithe Hash: Modul Teguh untuk Hashing Kata Laluan Selamat
Lithe Hash ialah modul teguh yang direka untuk pencincangan selamat kata laluan menggunakan algoritma Bcrypt. Modul ini memudahkan proses mencipta, mengesahkan dan mengurus cincang kata laluan, memastikan amalan keselamatan terbaik 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 ke 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('sua_senha', ['cost' => 10]);
Parameter:
Pulangan: Rentetan cincang yang boleh disimpan dalam pangkalan data.
Contoh:
$password = 'minha_senha_segura'; $hash = Hash::make($password, ['cost' => 12]); echo "Senha Hashed: " . $hash;
Untuk menyemak sama ada kata laluan sepadan dengan cincang, gunakan kaedah semak:
$isValid = Hash::check('sua_senha', $hash); if ($isValid) { echo 'Senha é válida!'; } else { echo 'Senha inválida.'; }
Parameter:
Pulangan: benar jika kata laluan sepadan dengan cincang; palsu sebaliknya.
Contoh:
if (Hash::check('minha_senha_segura', $hash)) { echo 'Senha está correta!'; } else { echo 'Senha está incorreta!'; }
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 com um novo custo $hash = Hash::make('sua_senha', ['cost' => 14]); }
Parameter:
Pulangan: benar jika cincang perlu dicincang semula; palsu sebaliknya.
Contoh:
composer require lithemod/hash
Bcrypt ialah fungsi pencincangan kata laluan yang digunakan secara meluas yang direka untuk menjadi perlahan dan intensif pengiraan, menjadikannya tahan terhadap serangan kekerasan. Dengan menggunakan faktor kos yang 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 mesti mengendalikan perkara ini dalam kod anda untuk memastikan keteguhan:
use Lithe\Support\Security\Hash;
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!