Người ta không thể tìm kiếm mật khẩu băm trong cơ sở dữ liệu. Để tính toán băm, bạn cần hàm password_hash () như bạn đã làm đúng trong câu lệnh chèn của mình.
// Hash a new password for storing in the database.
// The function automatically generates a cryptographically safe salt.
$hashToStoreInDb = password_hash($password, PASSWORD_DEFAULT);
Để kiểm tra mật khẩu, trước tiên bạn chỉ cần tìm kiếm theo tên người dùng (đã sử dụng truy vấn đã chuẩn bị sẵn để tránh tiêm sql):
$sql = 'select * from admin where username = ?';
$db->prepare($sql);
$db->bind_param('s', $first);
Cuối cùng khi bạn đã nhận được băm được lưu trữ từ cơ sở dữ liệu, nó có thể được kiểm tra như sau:
// 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);