SQL查询/PHP将用户从一个表导入到另一个表,但哈希密码


SQL query/PHP to import users from one table to another, but hashing the password?

我有两个表——旧表和新表。

从ID5000到ID10000,我需要将旧表中的数据导入到新表中。

假设需要导入"名称"answers"密码"。

在旧表中,用户没有散列!如何导入名称和密码,但确保导入的密码经过哈希处理,即:"$P$B….."(wordpress hash(?这可以通过SQL查询完成吗?

你可以在下面做一些类似的事情

INSERT INTO new_table (col1, password, ..., coln)
SELECT col1, MD5(password), ..., coln
FROM old_table
WHERE ID BETWEEN 5000 to 10000;

请参阅可用的MySQL密码哈希。

阅读更多

如何在MySQL中散列密码?

如果你只是使用MySQL本机可以散列的东西,比如md5,你可以做一些类似的事情

INSERT INTO NewTable (ID, Name, Password)
  SELECT ID, Name, md5(Password) AS Password
  FROM OldTable
  WHERE ID BETWEEN 5000 to 10000

如果您需要使用与MD5不同的哈希,请查看MySQL的文档,了解它们还支持什么。如果它像你说的那样是自定义的,Word Press的hash(我不知道他们用什么(,你必须在PHP中运行每一个,并手动转换它们。