我需要为丢失密码的用户生成令牌/验证码,但我不能依赖现有的Joomla安装,因为1)这是一个非常旧的Joomla安装(1.5.15),2)这是我的项目的要求之一。我不能触摸任何东西,因为这是第三方的工作,但我需要为移动用户(目前是iOS和安卓)实现一个密码恢复系统,我需要知道密码恢复系统使用的是哪种算法。
有人能告诉我它是怎么工作的吗?
发布于 2013-03-19 19:40:53
在Joomla中,你可以查看以下文件
components/com_users/controller/reset.php
components/com_users/modles/reset.php在控制器文件中,可以找到一个名为request();的函数
它使用模型processResetRequest();函数
在此函数中,它将使用以下代码创建激活令牌
// Set the confirmation token.
$token = JUtility::getHash(JUserHelper::genRandomPassword());
$salt = JUserHelper::getSalt('crypt-md5');
$hashedToken = md5($token.$salt).':'.$salt;
$user->activation = $hashedToken;此外,joomla正在验证令牌是否正确,然后它将允许用户创建您想要的新password.If,您可以使用以下代码作为joomla标准密码。
jimport('joomla.user.helper');
$salt = JUserHelper::genRandomPassword(32);
$crypt = JUserHelper::getCryptedPassword($password_choose, $salt);
$password = $crypt.':'.$salt;上面的代码创建了joomla密码。
如果你计划在移动设备上使用它,并且不编辑核心joomla,你可以在根目录上创建一个文件,并像this一样实现它
希望这能帮助你..
https://stackoverflow.com/questions/15498044
复制相似问题