2016-01-21 106 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,這意味着算法可能已經改變。