疑问一:
我早上看了下,只能32的转16的 ,16到32不可能转
所以这就必要要每个会员登陆一次,判断
md5(substr(md5($password),8,16).$user['salt']) 值得是否正确正确的话,我们就得到了明码,于是利用用这个明码再结合DZ的加密方式转换 md5(md5($password).$user['salt']) 保存进uc_members,之前DV-DZ转换的时候保存进数据库的32位置是md5(原动网MD5值.$user['salt'])
.不知道我的理解是不是对的,鉴于16位不能转32位的,我的愿望用程序让所有会员自己登陆一次也泡汤了,如果一个会员6个月不登陆,那这个会员的密码也就不给他转了,所以,从DV转过来的兄弟。6个月后咱就做一个真正的DZ人,不要再替换什么登陆处理文件了 哈哈。
疑问二:
PS:一个疑问,我新注册的会员,密码保存进 cdb_members 和 uc_members的值不一样,不知道cdb_members 又是怎么加密的??
我注册了会员 密码是123456 随机值 000828
uc_members 中的pass=7ed4088e8447930a140a01319886ebe6
cdb_members 中的pass=3991b19e876d8e7b4321a56432416b7a
疑问三:
请工程师帮我解答一下,另以下是我比较替换前后2个文件的区别,看到了登陆成功后,用明码重新加密成32位的过程中没有update cdb_members表 结合疑问二 是不是废气掉了cdb_members表了??
control/user.php 替换
if(empty($user)) {
$status = -1;
} elseif($user['password'] != md5(md5($password).$user['salt']) && $user['password'] != md5(substr(md5($password),8,16).$user['salt'])) {
$status = -2;
} else {
if ($user['password'] == md5(substr(md5($password),8,16).$user['salt'])) {
$this->db->query("UPDATE ".UC_DBTABLEPRE."members SET password='".md5(md5($password).$user['salt'])."' WHERE username='$username'");
}
$status = $user['uid'];
}
control/user.php 原配
if(empty($user)) {
$status = -1;
} elseif($user['password'] != md5(md5($password).$user['salt'])) {
$status = -2;
} else {
$status = $user['uid'];
}
model/user.php 替换
if(empty($user['username'])) {
return -1;
} elseif($user['password'] != md5(md5($password).$user['salt'])) {
return -2;
}
model/user.php 原配
if(empty($user['username'])) {
return -1;
} elseif($user['password'] != md5(md5($password).$user['salt']) && $user['password'] != md5(substr(md5($password),8,16).$user['salt'])) {
return -2;
}
if ($user['password'] == md5(substr(md5($password),8,16).$user['salt'])) {
$this->db->query("UPDATE ".UC_DBTABLEPRE."members SET password='".md5(md5($password).$user['salt'])."' WHERE username='$username'");
}
疑问四:
UC UCH BBS 中的UC我知道是必须的 UCH我不安装可以吗 我现在装的是三个的套件 发现UCH的表太多了,能不装就不装了。 |