Following How do you use bcrypt for hashing passwords in PHP?.
Submitting passwords to MySQL using:
$options = array('cost' => 11);
$password = password_hash("$_POST[password]", PASSWORD_BCRYPT, $options);
Password in MySQL shows as:
mysql> SELECT password FROM users;
+-----------------------------------------------+
| password |
+-----------------------------------------------+
| $2y$11$O77omA4vaNKu0DScTXCBd.FSXKSV0PD0piEokV |
+-----------------------------------------------+
On the login side:
$hash = $row['password'];
$password = $_POST[password];
if (password_verify($password, $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
Login doesn't work and always shows:
Invalid password.
I have pasted the relevant parts as the files are quite large. If more is needed (probably not relevant) I can paste.