在magento 1.7企业中将密码与数据库匹配的脚本

时间:2013-05-23 20:21:38

标签: magento magento-1.7

我正在尝试这个:

$password = md5($_GET['password']);
echo "Password: ".$pass = Mage::getSingleton('core/encryption')->getHash($password,'abcd1234');

echo "<br/>";

echo "ORIGINAL PASSWORD IS ba9791a5dec550a3a6cc3f4e748fd588:OG";
echo "<br/>";

但不幸的是密码与Magento的

不匹配

Magento版本是1.7

2 个答案:

答案 0 :(得分:1)

尝试:

Mage::helper('core')->getHash($password, 2);

但如果您想将密码与数据库匹配使用:

Mage::helper('core')->validateHash($password, $hash);

答案 1 :(得分:0)

看一下Mage / Core / Model / Encryption.php

public function validateHash($password, $hash)
{
    $hashArr = explode(':', $hash);
    switch (count($hashArr)) {
        case 1:
            return $this->hash($password) === $hash;
        case 2:
            return $this->hash($password . $hashArr[1]) === $hashArr[0];
    }
    Mage::throwException('Invalid hash.');
}

应用md5之前的密码连接passowrd + SALT

您将在数据库中的password_hash末尾看到SALT: 0836de2601523547b3365c4d20e9012a:I4

I4是盐!!