チェックインすると、\app\code\core\Mage\Customer\Model\Customer.php
次のようなものを見つけることができます(430 行目付近) :
/**
* Encrypt password
*
* @param string $password
* @return string
*/
public function encryptPassword($password)
{
return Mage::helper('core')->encrypt($password);
}
helper('core')
は_\app\code\core\Mage\Core\Helper\Data.php
には\app\code\core\Mage\Core\Helper\Data.php
、次のものがあります。
/**
* Encrypt data using application key
*
* @param string $data
* @return string
*/
public function encrypt($data)
{
if (!Mage::isInstalled()) {
return $data;
}
return $this->getEncryptor()->encrypt($data);
}
getEncryptor()
機能は次のとおりです。
/**
* @return Mage_Core_Model_Encryption
*/
public function getEncryptor()
{
if ($this->_encryptor === null) {
$encryptionModel = (string)Mage::getConfig()->getNode(self::XML_PATH_ENCRYPTION_MODEL);
if ($encryptionModel) {
$this->_encryptor = new $encryptionModel;
} else {
$this->_encryptor = Mage::getModel('core/encryption');
}
$this->_encryptor->setHelper($this);
}
return $this->_encryptor;
}
$this->_encryptor
が\app\code\core\Mage\Core\Model\Encryption.php
あり、このファイルで見つけることができます:
/**
* Encrypt a string
*
* @param string $data
* @return string
*/
public function encrypt($data)
{
return base64_encode($this->_getCrypt()->encrypt((string)$data));
}
と
/**
* Instantiate crypt model
*
* @param string $key
* @return Varien_Crypt_Mcrypt
*/
protected function _getCrypt($key = null)
{
if (!$this->_crypt) {
if (null === $key) {
$key = (string)Mage::getConfig()->getNode('global/crypt/key');
}
$this->_crypt = Varien_Crypt::factory()->init($key);
}
return $this->_crypt;
}
(string)Mage::getConfig()->getNode('global/crypt/key');
ファイルにあり/app/etc/local.xml
ます。
あなたの変数$hashed_password
は、この最後の方法で渡されます。
あなたの変数$hashInput
もそこに渡しますか?
checkPassword()
したがって、関数を次のように変更できます。
$hashInput = md5($passwordInput . $salt);
に
$hashInput = encryptPassword($passwordInput);
それにより、同じように進みます$hashInput
。$hashed_password