小编cae*_*lin的帖子

password_verify不验证哈希

我通过password_hash哈希插入的密码.我使用password_verify验证它们.

但是,当我在我的数据库中插入哈希密码并尝试验证它时,两个输出总是彼此不同.

我的网页如下,

main_login.php(表格):

<?php include 'header.php';?>
<body>
<form role="form" method="post" action="login.php">
  <div class="form-group">
    <label for="usrname">Username:</label>
    <input type="text" class="form-control" name="usrname" placeholder="Enter username">
  </div>
  <div class="form-group">
    <label for="passwrd">Password:</label>
  </div>
    <input type="password" class="form-control" name="passwrd" placeholder="Enter password">
    <br>
  <input type="checkbox">Remember Me
  <br>
  <br>
  <button type="submit" class="btn btn-default">Submit</button>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

login.php(handler):

<?php
include 'vars.php';
include 'header.php';
$sql="SELECT * FROM members WHERE usrname='$usrname'";
$result=mysqli_query($con,$sql);
$count=mysqli_num_rows($result);
$row=mysqli_fetch_row($result);
$verify=password_verify($hash,$row[2]);
if($verify){
    $_SESSION["usrname"]=$usrname;
    echo "Correct";
}
else {
    echo "user: " . $usrname. "<br>";
    echo "pass: " . …
Run Code Online (Sandbox Code Playgroud)

php verification hash password-encryption

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

hash ×1

password-encryption ×1

php ×1

verification ×1