Tom*_*Tom 2 passwords salt vbulletin password-protection
我正在将用户从旧数据库转移到 vBulletin 数据库。
我想要一个脚本来执行此操作,否则将花费很长时间。
我存储了所有用户的密码,就像 md5(password) 一样
但当然,由于盐等原因,这不适用于 vBulletin。
所以我的代码是这样的:
<?Php
mydatabase_connect();
$select=mysql_query("SELECT * from `users`");
while($user=mysql_fetch_array($select)) {
forum_connect();
$check=mysql_query("SELECT * from `user` where `username` = '{$user[username]}'");
if(mysql_num_rows($check)>="1") {
echo "fail";
}else{
$insert=mysql_query("INSERT into `user` SET `username` = '{$user[username]}', `password` = '{$user[password]}', `email` = '{$user[email]}'");
if($insert) {
echo 'success';
}else{
echo 'fail';
}
}
mydatabase_connect();
}
?>
Run Code Online (Sandbox Code Playgroud)
我如何更改它以与 vBulletin 一起使用 - 这样我就可以设置 vBulletin 用户。password字段和 vBulletin 用户。salt正确。请记住我的 $user[password] 或users. password存储为真实文本密码的 md5 哈希值。
谢谢!
我不知道这个答案是否太晚了,但您应该能够自动将您的密码转移到 vBulletin 中。
vBulletin 以这种方式生成其哈希值:
$hash = md5(md5($plaintext) . $salt);
Run Code Online (Sandbox Code Playgroud)
因此,要转移用户,请大致执行以下操作:
$salt = /* generate salt */;
$vb_hash = md5($your_old_hash . $salt);
Run Code Online (Sandbox Code Playgroud)
为了方便自己,请使用 vBulletin 的盐生成方法。是在vB_DataManager_User班级里。