【发布时间】:2015-07-18 03:06:55
【问题描述】:
我想在数据库中存储一个散列密码,但那时我还没有加载 Yii(由于我的自定义应用程序安装程序)。我想知道 PHP 中 CPasswordHelper::hashPassword($password); 的等价物。到目前为止,我已经尝试过这样的 PHP password_hash() 函数:
password_hash(filter_input(INPUT_POST, 'portal_password', FILTER_SANITIZE_STRING), PASSWORD_BCRYPT, array("cost" => 13));
结果如下:$2y$13nhWAdiJeznsOqHph0yZaAOINqg14pGppOUqqyisaXsQuBtRKD076W 但是当我尝试使用我的原始密码登录时,它失败了。我注意到CPasswordHelper::hashPassword 的结果通常有$2a$13,但我的结果有$2y$13 前缀。任何人都可以帮忙吗?谢谢!
【问题讨论】:
-
CPasswordHelper类和password_hash()函数在内部都使用crypt()函数来计算哈希值,这意味着它们应该是兼容的。其实你可以直接把输入传给password_hash()函数,不需要清理。
标签: php yii hash passwords password-encryption