我这里有个程序,是将原密码进行MD5 32位加密,然后截取3-25位,再进行md5 32位加密。
wecenter的加密听说是双md5+salt
现在我已经将原来的mssql数据库信息导入到了mysql,密码使用原来的密码,salt空着,我想在登陆判断的代码里面改一下,做成如下效果:
1 先使用wecenter的加密方式,判断密码是否正确,如果正确就登陆
2 如果不正确,使用原来的加密方式,判断密码是否正确,如果正确就登陆,同时将密码改为wecenter的加密
修改 account.php
function check_password($password, $db_password, $salt)
{$password1=$password;
$password = compile_password($password, $salt); 原来加密方式
$password2 = compile_password2($password1); 新增加的加密方式
if ($password == $db_password or $password2 == $db_password ) 两者只要有一个相同
{
return true;
}
return false;
}
修改function.inc.php
function compile_password2($password) 新函数
{
// md5 password...
if (strlen($password) == 32)
{
return md5(substr($password,2,25));
}
$password = md5(substr(md5($password),2,25)); 先将密码用md5加密,截取从第三到之后的25位,然后再进行加密
return $password;
}
请看这种方法对吗?
如果我想增加一个,如果能够登录,同时将密码改为wecenter加密方式,然后写入数据库
新问题:PHP Warning: Invalid argument supplied for foreach() in D:\test1\WeCenter_2-0\views\default\people\index.tpl.htm on line 94 好像是数组没有数据,但是不理解到底该改哪里
(这部分解决了,在这一行增加了一个(array),就可以访问了)
阅读全文
收起全文