如何将MD5MD5(PHP Fusion)哈希密码导入Drupal 7

如何将MD5MD5(PHP Fusion)哈希密码导入Drupal 7,drupal,passwords,md5,Drupal,Passwords,Md5,以下是MD5哈希密码的答案。 我自己不是程序员;)我很难确定我应该在哪里修改代码,以使用来自PHP Fusion(7.02.01)的用户密码,而不是以前版本的Drupal。有人能帮我吗?:) Drupal 7中的哈希机制是可切换的。如的文档中所述,您可以设置密码(例如在settings.php中:$conf['password\u inc']='/path/to/alternative/file.inc')。在该文件中,您需要实现上述链接中提到的3个函数,以使用PHP Fusion使用的格式(您

以下是MD5哈希密码的答案。
我自己不是程序员;)我很难确定我应该在哪里修改代码,以使用来自PHP Fusion(7.02.01)的用户密码,而不是以前版本的Drupal。有人能帮我吗?:)

Drupal 7中的哈希机制是可切换的。如的文档中所述,您可以设置密码(例如在settings.php中:
$conf['password\u inc']='/path/to/alternative/file.inc'
)。在该文件中,您需要实现上述链接中提到的3个函数,以使用PHP Fusion使用的格式(您可以在很大程度上重复使用)


这样,您就可以继续使用旧哈希。您还可以实现某种逻辑,对新密码使用默认哈希算法,并强制用户在下次登录时设置新密码。这可能会让你在一年左右所有活跃用户都被更新后删除这部分代码。

Mhym。在用户检查密码中有
$password=md5($password)。但正如我在前面提到的链接中所描述的,它对MD5密码不起作用。如果您执行@hross所描述的重新灰化,它就会起作用。如果我将其更改为MD5的两倍,我还可以使用类似的重新灰化方法吗?如果Drupal接受双MD5密码,并在用户下次登录时将其重新设置为默认的salted sha512,那就更好了。对不起,我真的有点像个盲人;)但我真的很感激你的帮助,我就是这么说的。使用我解释的方法,您可以完全重写这些函数并执行任何您想要的操作。默认实现将根本不被使用。不是那个文件,而是你自己的。是的,我现在知道哪些文件需要更改。问题是,如果我想在用户检查密码中将单个MD5更改为双倍,我仍然不知道如何更改重新刷新。你能帮我吗?告诉我在@hross代码中要更改什么,或者在这三个文件中要更改什么,以便Drupal可以接受双MD5密码,并在下次登录时将其重新设置为默认哈希值。只有在密码更改时,才能在登录时重新设置。例如,您可以在所有旧哈希之前加上一些哈希中没有出现的前缀,比如$。如果有$,则需要使用md5md5哈希比较函数,如果没有,则使用新函数。而hash的新密码只是默认密码的一个副本。Mhym。。。好的,我添加了U$作为旧密码的第一个字符,并更改了
$password=md5($password)
$password=md5(md5($password))。其余代码与old password.inc中的代码相同,但我仍然无法登录。我还应该在password.inc中更改什么?有
$hash=\u password\u crypt('md5',$password,$stored\u hash)稍后,但我不知道“md5”部分的确切功能。不管怎样,如果我把它改成“md5md5”,它仍然不起作用。