Я совершенно новичок в соленых и хэшированных паролях, так что извините, если я немного нуб.
но я пытался подсолить и хэшировать свои пароли, и это прекрасно работает, пока я не войду в систему
if (isset($_POST['btn-login'])) {
$uname = strip_tags($_POST['uname']);
$password = strip_tags($_POST['psw']);
$uname = $DBcon->real_escape_string($uname);
$password = $DBcon->real_escape_string($password);
$salt = "498#2D83B631%3800EBD!801600D*7E3CC13";
$hashed = hash('sha512', $salt.$password);
$query = $DBcon->query("SELECT user_id, uname, psw FROM Users WHERE uname='$uname'");
$row=$query->fetch_array();
$count = $query->num_rows; // if uname/password are correct returns must be 1 row
if (password_verify($hashed, $row['psw']) && $count==1) {
$_SESSION['userSession'] = $row['user_id'];
header("Location: student.php");
} else {
$msg = "<div>
Wrong E-mail or Password!
</div>";
}
$DBcon->close();
}
Задача ещё не решена.
Других решений пока нет …