Php 等同于Yii CPasswordHelper?

Php 等同于Yii CPasswordHelper?,php,yii,hash,passwords,password-encryption,Php,Yii,Hash,Passwords,Password Encryption,我想在数据库中存储一个散列密码,但由于我的自定义应用程序安装程序,到那时我还没有加载Yii。我想知道CPasswordHelper::hashPassword$password的等价物;在PHP中。到目前为止,我已经尝试使用PHP密码\u散列函数,如下所示: password_hash(filter_input(INPUT_POST, 'portal_password', FILTER_SANITIZE_STRING), PASSWORD_BCRYPT, array("cost" => 1

我想在数据库中存储一个散列密码,但由于我的自定义应用程序安装程序,到那时我还没有加载Yii。我想知道CPasswordHelper::hashPassword$password的等价物;在PHP中。到目前为止,我已经尝试使用PHP密码\u散列函数,如下所示:

password_hash(filter_input(INPUT_POST, 'portal_password', FILTER_SANITIZE_STRING), PASSWORD_BCRYPT, array("cost" => 13));

结果是:$2y$13nhwadijeznsoqhph0yzaaoinqg14pgppouqyisaxsqubtrkd076w,但当我尝试使用原始密码登录时,失败了。我注意到,CPasswordHelper::hashPassword的结果通常有$2a$13,但我的结果有$2y$13前缀。有人能帮忙吗?谢谢

事实上,我的方法运行良好:是另一个不相关的错误导致登录失败。希望有人会觉得这很有用,谢谢你抽出时间

CPasswordHelper类和password_散列函数都在内部使用crypt函数来计算散列值,这意味着它们应该是兼容的。实际上,您可以将输入直接传递给password_散列函数,无需进行清理。