1. Kata sandi hash terutama menggunakan algoritma dispersi satu arah untuk membuat dispersi kata sandi.
Dalam database mode enkripsi kata sandi, kolom yang menyimpan hasilnya bisa melebihi 60 karakter, dan panjang varchar perlu diatur ke 255.
<?php //Fungsi enkripsi generatePassword($password) { kembalikan kata sandi_hash($kata sandi, PASSWORD_DEFAULT); } //Fungsi verifikasi verifikasiPassword($kata sandi, $hashPassword) { kembalikan kata sandi_verifikasi($kata sandi, $hashPassword); } //Hasil enkripsi: $2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a
2. Kata sandi md5 adalah enkripsi asimetris. Sebaiknya tambahkan string yang dikaburkan saat mengenkripsi.
Ini harus menjadi metode enkripsi kata sandi yang paling umum.
Metode kriptografi ini sebenarnya sangat aman, karena tabrakan hash dapat menyebabkan kerentanan.
<?php //Fungsi enkripsi md5_password($password, $hash = 'autofelix_') { return md5($hash .$password); } //Verifikasi $userinfo = /** Kueri informasi pengguna **/; if ($userinfo['password'] !== md5_password($password)) { /** Logika kesalahan kata sandi **/ } /** Kata sandi benar, lanjutkan dengan logika **/
Di atas adalah dua metode untuk menghasilkan kata sandi pengguna di php. Saya harap dapat bermanfaat bagi semua orang.