password_verify() 返回错误
password_verify() returning false
我有一个看似自发的问题。突然我的 password_verify()
函数返回 false。
<?php
$email = $_POST['email'];
$password = $_POST['password'];
$sql1 =
"SELECT `merchants_id`, `password`, `name` FROM table_name WHERE `email` = :email;";
$binds = array(
'email' => $email
);
$findvalue = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql1, $binds);
$findvalue = $findvalue[0];
$verified = password_verify($password, $findvalue['password']);
?>
如您所见,我正在使用 Magento(已完全修补 1.7)及其方法来执行查询。
如果我通过 password_get_info($findvalue['password'])
解析它,它会发现密码有效并输出预期的数据(加密类型等)但是 $verified
returns 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);
此外,这里要求的是密码字符串:y$TfTULzD9eVUEdjaquhcUmOhGD07X5VV3MloCpjaOmpt3GqOBpEhmm
我重设了密码,一切正常。
我怀疑这可能是因为我将 PHP 版本升级到 5.6,这意味着算法可能已更改。
我有一个看似自发的问题。突然我的 password_verify()
函数返回 false。
<?php
$email = $_POST['email'];
$password = $_POST['password'];
$sql1 =
"SELECT `merchants_id`, `password`, `name` FROM table_name WHERE `email` = :email;";
$binds = array(
'email' => $email
);
$findvalue = Mage::getSingleton('core/resource')->getConnection('core_read')->fetchAll($sql1, $binds);
$findvalue = $findvalue[0];
$verified = password_verify($password, $findvalue['password']);
?>
如您所见,我正在使用 Magento(已完全修补 1.7)及其方法来执行查询。
如果我通过 password_get_info($findvalue['password'])
解析它,它会发现密码有效并输出预期的数据(加密类型等)但是 $verified
returns 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);
此外,这里要求的是密码字符串:y$TfTULzD9eVUEdjaquhcUmOhGD07X5VV3MloCpjaOmpt3GqOBpEhmm
我重设了密码,一切正常。
我怀疑这可能是因为我将 PHP 版本升级到 5.6,这意味着算法可能已更改。