想请教各位老大一个问题, 我是从一个很少人用的ASP社区把会员数据转到DZ的, 我的数据库会员表里有部分会员的密码是用16位MD5加密的, 还有部分是没有用MD5加密的, 我想让他登陆后自动改成DZ的加密方式, 我昨晚搜索论坛找到办法, 改成下面这个样子, 所有会员能够登陆了, 16位MD5加密的会员密码能登陆时能正常改为DZ的加密了, 但是无MD5加密的密码却不会转换, 还是原来的......我只会一点ASP,对PHP完全不懂...希望各位老大能指点一下....
小弟在此先谢谢((mk01))
$passwordmd5 = preg_match('/^\w{32}$/', $password) ? $password : md5($password);
if(empty($user)) {
$status = -1;
} elseif($user['password'] != md5($passwordmd5.$user['salt']) && $user['password'] != substr(md5($password),8,16) && $user['password'] != $password) { //change
$status = -2;
} elseif($checkques && $user['secques'] != '' && $user['secques'] != $_ENV['user']->quescrypt($questionid, $answer)) {
$status = -3;
} else {
if($user['password'] == substr(md5($password),8,16) && $user['password'] != $password){ //change
$this->db->query("UPDATE".UC_DBTABLEPRE."members SET password='".md5($passwordmd5.$user['salt'])."' WHERE username='$username'");
} |