我们来看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加密
替换
至此完成