验证哈希密码

时间:2017-06-21 14:46:30

标签: php hash salt verify crypt

已更新

我已根据推荐更新到PHP5,我仍然无法弄清楚如何验证密码

以下是将password_hash脚本输入到varchar(255)字段的字段中的脚本。 (还插入了用户名)。这一切都插入了我认为它应该IE用户名和密码的长随机码的数据。

  $options = array(
    'cost' => 12 // the default cost is 10
  );
  $ex_password = password_hash($_POST["ex_password"], PASSWORD_BCRYPT, $options);

然后我在登录表单上使用以下内容

$sql = "SELECT ex_username, ex_password FROM exhibitormain WHERE ex_username=:ex_username LIMIT 1";
$stmt = $pdo->prepare ( $sql );
$stmt->bindValue( ":ex_username", $ex_username, PDO::PARAM_STR );
$stmt->execute();
$user = $stmt->fetch();
$userExists = $stmt->fetchColumn();
if(!empty($user)){
  if (hash_equals($_POST['ex_password'], $user['ex_password'])) {
      echo 'Password is valid!';
  } else {
      echo 'Invalid password.';
  }
}else{
    echo '<p class="error">No such username found.</p>';;
}

我尝试做的是检查用户名是否存在,如果存在,则比较密码是否正确。

如果我输入的数据库不在数据库中,我将使用正确的路径并显示“未找到此类用户名”。错误消息,但当我输入存在的用户名时,我输入密码是对还是错,它总是将我发送到显示错误'无效密码'的路径。

任何有用的帮助。

伊恩

0 个答案:

没有答案