magento了解客户密码加密方式

我们来看magento加密的代码

/**
 * Hash a string
 *
 * @param string $data
 * @return string
 */
public function hash($data)
{
    return md5($data);
}
 
/**
 * Validate hash against hashing method (with or without salt)
 *
 * @param string $password
 * @param string $hash
 * @return bool
 * @throws Exception
 */
public function validateHash($password, $hash)
{
    $hashArr = explode(':', $hash);
    switch (count($hashArr)) {
        case 1:
            return $this->hash($password) === $hash;
        case 2:
            return $this->hash($hashArr[1] . $password) === $hashArr[0];
    }
    Mage::throwException('Invalid hash.');
}

从代码中可以看出,magento加密的方式有两种,一种是直接md5加密,另外一种是根据:冒号来分割,形成 md5( hash + Password ) :  hash 的方式

那也就是说,我们可以直接把MD5加密的密码替换客户的密码,也是可以登录的,比如

表:customer_entity_varchar

把123456用MD5加密

替换

至此完成

相关文章

0 0 投票数
文章评分
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论