Magento 管理员密码加密机制

Magento的管理员密码的加密方式

$password    = 'admin';
echo getHash($password,2);

function getRandomString($len, $chars=null)
{
    if (is_null($chars)) {
        $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    }
    mt_srand(10000000*(double)microtime());
    for ($i = 0, $str = '', $lc = strlen($chars)-1; $i < $len; $i++) {
        $str .= $chars[mt_rand(0, $lc)];
    }
    return $str;
}
function getHash($password, $salt=false)
{
    if (is_integer($salt)) {
        $salt = getRandomString($salt);
    }
    return $salt===false ? md5($password) : md5($salt.$password).':'.$salt;
}


根据代码,magento加密
采用md5或者md5加上额外的定义位数的字符一起加密。

md5 结合crypt的无敌密码

PHP的内置函数crypt 很不错
配合MD5 更天下无敌


<?php
$pass = '123456';
echo "MD5加密后".md5($pass)."<br>";              //不安全
echo "crypt加密后".crypt($pass)."<br>";             // 比较乱的密码 刷新后还会变
echo "crypt复杂加密后".crypt($pass,substr($pass,0,2))."<br>"; //还是不爽
echo "无敌加密后".md5(crypt($pass,substr($pass,0,2)))."<br>"; // 现在让黑客如何破这个密码???
?>


最后的密码 还是32位 初看 都以为是 MD5加密
可无论对方MD5的HASH值多么庞大 几个T的数据 都无法破解出来

标签: pass, crypt, md5, 加密