小编Hun*_*Ali的帖子

使用crypt()和password_hash()函数加密后,密码不匹配

我修改了我的旧帖子.我尝试了crypt()函数,现在尝试使用password_hash()和password_verify()来验证来自数据库的加密密码,但在每次调用时,password_hash()函数返回不同的加密字符串,而password_verify()无法匹配.

这就是我这样做的方式.

 //please ignore the syntax error if any

$data = '11';
$dbpass = password_hash($data, PASSWORD_BCRYPT);
echo $dbpass;  // displays the random strings on each page refresh.
Run Code Online (Sandbox Code Playgroud)

一旦密码保存到数据库中,在登录过程中就不会匹配.以下是我的实际功能.

   private function process_data($password){
    $password = __STR.$password.__STR;
    return  password_hash($password, PASSWORD_BCRYPT);

  }
  private function processed($login_password, $dbpassword){
    $login_password = __STR.$login_password.__STR;
    return password_verify($login_password, $dbpassword);
  }
Run Code Online (Sandbox Code Playgroud)

在为密码创建散列字符串的每个函数调用中,该函数下次返回不同的字符串.

php security passwords php-password-hash

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

标签 统计

passwords ×1

php ×1

php-password-hash ×1

security ×1