Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[疑问] 登陆密码验证16位MD5和无MD5加密的问题,无MD5加密不会重新加密保存

[复制链接]
ys1234 发表于 2009-3-10 15:18:32 | 显示全部楼层 |阅读模式
想请教各位老大一个问题, 我是从一个很少人用的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'");  
                        }
回复

使用道具 举报

 楼主| ys1234 发表于 2009-3-10 16:25:01 | 显示全部楼层
网上查找PHP教程,渐渐看懂了一点, 改成下面这个样子, 依然不会把无MD5的密码重新加密..郁闷
else {
                        if($user['password'] == substr(md5($password),8,16) or $user['password'] != $password){                                                                                                                                //change
                                $this->db->query("UPDATE".UC_DBTABLEPRE."members SET password='".md5($passwordmd5.$user['salt'])."' WHERE username='$username'");  
                        }
回复

使用道具 举报

 楼主| ys1234 发表于 2009-3-10 16:26:37 | 显示全部楼层
靠啊..看到了...
or $user['password'] != $password)

没留意上面的是!=......问题解决....

没人理俺, 自问自达, 留给以后有这需要的兄弟参考吧
回复

使用道具 举报

romance12 发表于 2009-7-12 15:25:15 | 显示全部楼层
学习了,谢谢
回复

使用道具 举报

12153556 发表于 2009-7-12 15:27:39 | 显示全部楼层
在学习中成长

呵呵

在成长中学习
回复

使用道具 举报

蓝豆 发表于 2009-7-12 16:05:19 | 显示全部楼层
在学习中成长

呵呵

在成长中学习
12153556 发表于 2009-7-12 15:27


学习一下
回复

使用道具 举报

romance12 发表于 2009-7-12 17:46:35 | 显示全部楼层
谢谢,纯支持
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-16 05:20 , Processed in 0.105039 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表