Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hashing kata sandi menggunakan crypt tidak berfungsi saat login, ini menampilkan pass yang salah

Setelah pendaftaran Anda membuat garam yang unik. Garam itu sekarang menjadi bagian dari hash. Jika Anda perhatikan lebih dekat, Anda akan melihatnya tertanam di bagian pertama hash. Untuk memeriksa kata sandi, gunakan garam kata sandi hash sebelumnya, jadi Anda menggunakan garam yang sama lagi.

$correctPasswordHash = getPasswordFromDatabase($_POST['username']);
$hash = crypt($_POST['password'], $correctPasswordHash);

if ($correctPasswordHash === $hash) ...

Untuk membuatnya lebih mudah dan lebih mudah, gunakan pustaka password_compat , yang membungkus ini dalam API yang mudah digunakan, yang juga akan diintegrasikan ke dalam versi PHP yang akan datang. Periksa kode sumbernya untuk penggunaan yang benar dari crypt , karena ada beberapa jebakan yang perlu Anda tangani. Pustaka password_compat juga menggunakan perbandingan biner khusus alih-alih === simple sederhana untuk menggagalkan serangan waktu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Membuat Peringkat Di Atas Partisi di MySQL

  2. php/mysql. Apakah ada fungsi mysql untuk mendeteksi jika setidaknya ada 2 kata tertentu di setidaknya satu bidang baris mysql?

  3. Kode Peringatan Mysql 1592 Pernyataan tidak aman ditulis ke log biner menggunakan format pernyataan

  4. Prosedur Tersimpan MySQL dengan Parameter

  5. Pekerjaan MySQL gagal dimulai