PHP密码始终不同

时间:2017-04-05 11:47:42

标签: php codeigniter

我在注册时使用以下方法在数据库中保存密码。

'reg_password'=>password_hash($this->input->post('password'), PASSWORD_DEFAULT, ['cost' => 15]),

我在登录时使用以下方法。

'Password' => password_hash($this->input->post('password'), PASSWORD_DEFAULT, ['cost' => 15])

每次我获得不同的哈希密码如何解决此问题?抱歉我的英语不好。

1 个答案:

答案 0 :(得分:2)

password_hash()有助于首次在sign_up中转换用户的输入密码,然后将此信息(hash + salt)返回到适合与用户存储的单个字符串中记录在数据库中。它不能用于检查用户输入是否与数据库中已经散列的密码匹配。为此,您需要使用password_verify()方法来检查密码是否存在。例如

'Password' => password_verify($this->input->post('password'), $stored_password);