2016-01-21 86 views
0

我有一个看似自发的问题。突然我的password_verify()函数返回false。您可能会看到,我正在使用Magento(完全修补1.7)及其方法来执行查询。password_verify()返回false

如果我解析它通过password_get_info($findvalue['password'])它拿起密码是有效的,并输出预期的数据(加密类型等),但是$verified返回FALSE

数据库字段设置,并一直设置到varchar(255)

编辑---

这是一个用于创建密码的代码:

$hash = password_hash($value['password'], PASSWORD_BCRYPT); 
    $updateSql = 'UPDATE table_name SET `password` = :password WHERE `merchants_id` = :merchant_id;'; 
    $updateBinds = array(
     'password' => $hash, 
     'merchant_id' => $value['merchants_id'] 
    ); 
    $cxn->query($updateSql, $updateBinds); 

此外,这里要求的是一个密码字符串:$2y$10$TfTULzD9eVUEdjaquhcUmOhGD07X5VV3MloCpjaOmpt3GqOBpEhmm

+0

你的代码看起来很好 - 你能给例子输入值失败吗? – 1615903

+0

我已经尝试了2个不同的用户登录,因此它对本地用户并不是独特的。 – Joshua

+0

对不起,误解了。已经更新了这个问题@ 1615903 – Joshua

回答

0

我重置我的密码,这一切工作。

我怀疑它可能是因为我升级了我的PHP版本到5.6,这意味着算法可能已经改变。