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

Kata sandi tidak diverifikasi menggunakan fungsi password_verify

Seseorang tidak dapat mencari hash kata sandi asin dalam database. Untuk menghitung hash, Anda memerlukan fungsi password_hash() seperti yang telah Anda lakukan dengan benar dalam pernyataan penyisipan.

// Hash a new password for storing in the database.
// The function automatically generates a cryptographically safe salt.
$hashToStoreInDb = password_hash($password, PASSWORD_DEFAULT);

Untuk memeriksa kata sandi, Anda harus terlebih dahulu mencari berdasarkan nama pengguna saja (menggunakan kueri yang disiapkan untuk menghindari injeksi sql):

$sql = 'select * from admin where username = ?';
$db->prepare($sql);
$db->bind_param('s', $first);

Ketika Anda akhirnya mendapatkan hash yang tersimpan dari database, dapat diperiksa seperti ini:

// Check if the hash of the entered login password, matches the stored hash.
// The salt and the cost factor will be extracted from $existingHashFromDb.
$isPasswordCorrect = password_verify($password, $existingHashFromDb);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan fatal:Panggilan ke kueri fungsi anggota () KELAS PHP

  2. SQLSTATE[HY000]:Kesalahan umum:1835 Paket komunikasi yang salah di LARAVEL

  3. Instalasi MYSQL dengan aplikasi .NET winforms

  4. mendapatkan nilai kolom tabel pivot tambahan laravel

  5. Bekerja dengan mesin database MySQL