我想创建一个脚本,将大约100个用户插入到Drupal6数据库中--他们的用户名、邮件和密码散列。
在阅读了Drupal6使用的PHP类之后,我不确定我是否能做到这一点。我的方法是向每个用户发送一封邮件,比如"Hello,x!您的新密码是y",然后将散列的"y“插入到Drupal的用户表中。
我知道Drupal返回一个md5。但它不仅仅是MD5的原始密码,而是一个非常混乱的密码(使用salt和其他方法)。
我已经研究了Portable PHP password hashing framework Drupal的使用,但我认为它不仅仅适用于copy+paste方法。
因此,我的问题是:我能否创建一个返回有效Drupal6密码散列的PHP函数,以将其插入到其用户表中?
发布于 2010-10-11 19:00:03
实际上,Drupal6不使用任何盐来计算密码的散列。这只是一个简单的口令md5
你可以自己试一试。将您的密码设置为某个值。
计算密码的md5 (为方便起见,您可以使用此链接http://www.miraclesalad.com/webtools/md5.php )。
您会发现,存储在数据库中pass列的users表中的散列完全相同
这一行为适用于Drupal6的默认安装(对于Drupal7,该行为可能已更改)。只有当您安装了一些特殊模块时,Drupal6的行为才会有所不同。
发布于 2010-10-09 00:45:48
如果以编程方式创建用户,则应该自己创建明文密码,然后使用user_save()函数将用户插入到数据库中。该函数将为您散列并保存所有内容。
发布于 2010-10-09 00:49:45
现有的user import模块看起来可以用于批量用户导入。这不会回答你的“我如何散列密码”的问题,但它将消除对自定义(可能更容易出错)脚本的需求。
https://stackoverflow.com/questions/3892446
复制相似问题