验证脚本 来自magento 的自身函数
实验中 直接MD5 也可以
zencart 加密密数据是直接在数据库中提取的
/*www.weicot.com
*1050653098@qq.com
*兔子
*/
$password = 'weicot';
echo md5('weicot');
echo "<br />";
//$hash='84124cb9ba77a2057bd94a53244e16a8:e1'; zencart 加密手法
+-------------------------------------+
| customers_password |
+-------------------------------------+
| 84124cb9ba77a2057bd94a53244e16a8:e1 |
+-------------------------------------+
//$hash='8be234276f5c3fd68cdad4a1d58263cb'; 纯MD5手法
//$hash = '41b719a399d058da6650222e823bc9df:D4'; //magento默认加密手法
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
$password = 'abcd';
$hash = 'bf8d0ec1c358da673b6b841e0c775355:xz';
echo getHash($password,2).'<br>'; //hash 加密
echo validateHash($password,$hash); //hash 加密验证
function getRandomString($len, $chars=null)
{
if (is_null($chars)) {
$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
}
mt_srand(10000000*(double)microtime());
//随机数发生器 关于这个的介绍
//http://php.net/manual/zh/function.mt-srand.php
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;
}
/*
* 验证密码
@param string $password
* @param string $hash
* @return bool
*/
function validateHash($password,$hash)
{
$hashArr = explode(':', $hash);
switch (count($hashArr)) {
case 1:
return getHash($password) === $hash;
case 2:
return getHash($hashArr[1] . $password) === $hashArr[0];
}
return 'Invalid hash.';
}
?>
最后的验证正手法 是直接导入 最后前台部分成功登录
转载请注明:(●--●) Hello.My Weicot » magento 用户密码加密数据跟 zencart 加密的数据部分可以通用 都加了盐