Zend framework2 ZfcUser和现有用户帐户密码

Zend framework2 ZfcUser和现有用户帐户密码,zend-framework2,Zend Framework2,我将ZfcUser与BjyAuthorize一起使用,一切正常。在我工作的项目中,我有一个旧数据库,其中包含使用MySQL函数“password”加密的用户帐户和密码,我的问题是,是否可以将密码重新转换为ZfcUser密码类型,而不向所有用户发送信息?我的目标是让老用户用他的旧密码登录到新系统,然后脚本以某种方式将此密码转换为ZfcUser标准。好的,我找到了解决方案,首先我在php中找到了MySQL密码函数: function mysql_password_hash($input, $hex

我将ZfcUser与BjyAuthorize一起使用,一切正常。在我工作的项目中,我有一个旧数据库,其中包含使用MySQL函数“password”加密的用户帐户和密码,我的问题是,是否可以将密码重新转换为ZfcUser密码类型,而不向所有用户发送信息?我的目标是让老用户用他的旧密码登录到新系统,然后脚本以某种方式将此密码转换为ZfcUser标准。

好的,我找到了解决方案,首先我在php中找到了MySQL密码函数:

function mysql_password_hash($input, $hex = true)
{
   $sha1_stage1 = sha1($input, true);
   $output = sha1($sha1_stage1, !$hex);
   return strtoupper('*'.$output);
}
然后在ZfcUser\Authentication\Adapter\Db.php中,我添加了一个计数器
$bcrypt=new bcrypt()这两行:

if(mysql_password_hash($credential) === $userObject->getPassword())
    $this->updateUserPasswordHash($userObject, $credential, $bcrypt);  
现在,在登录过程中,旧的MySQL密码被重新设置为新的Bcrypt密码。也许它会帮助别人