Password_verify не работает должным образом?
Этот блок кода возвращает "успех":
$sql = "SELECT * FROM users WHERE username='$username'"; $query = $this->db->query($sql); $count = $query->num_rows(); if ($count == 1) { $row = $query->row(); $hash = $row->password; $hash = '$2y$10$zF/7n3QOAq9ADh2S4kBZBuz94QNzCA0GyRfd1WT7JqNhDVpcXQgEq'; $pass = 'hello'; if (password_verify($pass, $hash)) { return "success"; } else { $data = "Hash: " .$hash." Password:".$pass; return $data; } } else { return "zero rows"; }
Но когда я меняю его на этот (я комментирую второй хэш $):
$sql = "SELECT * FROM users WHERE username='$username'"; $query = $this->db->query($sql); $count = $query->num_rows(); if ($count == 1) { $row = $query->row(); $hash = $row->password; //$hash = '$2y$10$zF/7n3QOAq9ADh2S4kBZBuz94QNzCA0GyRfd1WT7JqNhDVpcXQgEq'; $pass = 'hello'; if (password_verify($pass, $hash)) { return "success"; } else { $data = "Hash: " .$hash." Password:".$pass; return $data; } } else { return "zero rows"; }
Он возвращает следующее сообщение:
Hash: $2y$10$zF/7n3QOAq9ADh2S4kBZBuz94QNzCA0GyRfd1WT7JqNhDVpcXQgEq Password:hello
Что может быть не так?
Что я уже пробовал:
Попробовал поискать в stackoverflow, но не смог найти ответов