SHA 512 хеширование и проверка

Хорошо, поэтому я пытаюсь проверить пароль с помощью SHA 512, но независимо от того, что он все еще возвращает ложь, как проверка хеша, не является правильным.

Генерация хэша при регистрации

$hashed = password_hash(hash('sha512', $password), PASSWORD_DEFAULT);

И для проверки (при входе в систему) я использую простой

public function isValidLogin($username, $password) {
$sql = $this->connect();
$sql->real_escape_string($username);
$sql->real_escape_string($password);

$res = $sql->query("SELECT password FROM users WHERE name='".$username."'");

if ($res->num_rows >= 1) {
while($row = $res->fetch_assoc()) {
if (password_verify(hash('sha512', $password), $row['password'])) {
return true;
}
}
}

return false;
}

1

Решение

Попробуйте этот код во время регистрации вместо вашего кода.

 $hashed = hash("sha512", $password);
2

Другие решения

// original password
$_password = 'bluebeans123';

$password = hash('sha512', $_password);
$password = password_hash($password, PASSWORD_DEFAULT);

var_dump($password);

$verify = hash('sha512', $_password);
$verify = password_verify($verify, $password);

var_dump($verify);

Разработать пример: http://wiki.travisfont.com/PHP:Пароли(Hash_w / _SHA512)

-1

По вопросам рекламы [email protected]