从另一个 mysql table 用户导入用户到 Mybb 数据库

Import users to Mybb database from another mysql table of users

我有一个包含 login/password 部分的网站。它有大约 500 个用户。我已经在 mysql table 中为所有人创建了登录名和密码,我们称之为 "users".

现在我刚刚安装了一个 Mybb 论坛,它有自己的 mysql 数据库 (mybb_users)。 我不希望人们自行注册,我只是希望他们使用以前在我的常规网站上使用的 login/password。

我的问题是:

1)我可以从 mybb 应用程序中的 csv 文件导入用户吗?
2)mybb_users中的数据库结构为:username password salt loginkey

我的 "users" table 不同,它只有登录名和密码(明文)

我如何转换密码并创建可在 mybb 中使用的登录密钥。

我无法手动创建 500 个用户。
我希望我说清楚了。

感谢您的帮助

It is different in my "users" table which have only login and password (in cleartext)

一个可行的解决方案,因为您的初始存储密码根本没有加密:

提醒您的上下文:

  • 一种自定义类型 MyUserLogin table.
  • MyBB 的登录 table。我们称它为 MyBBLogin
  • MyUserLogin的密码根本没有加密
  • MyBBLogin的密码是用MD5+Salt加密的。

除了 CSV 之外,一个简单的解决方案是创建这种 php 脚本:

  1. Select 来自 MyUserLogin table.
  2. 的所有用户
  3. 对于每个返回的用户密码($password_cleartext),应用此函数:

    function generate_salt() {
        return random_str(8);  //picked from MyBB's source code
    }
    
    $passwordToStoreInMyBB = md5(md5($salt).md5($password_cleartext));
    
  4. 然后你只需要做一个插入查询来填充MyBBLogin的字段,涉及新加密的密码($passwordToStoreInMyBB 盐键 ($salt).

请注意,LoginKey字段只是MyBB在登录时生成的密钥,以防止某些类型的CSRF攻击,特别是在注销机制期间。
您不必自己填充它。
有关此密钥本质的更多信息 here