什么函数返回 Drupal-6 有效的密码哈希?

发布于 2024-09-26 08:45:49 字数 444 浏览 8 评论 0原文

我想制作一个脚本将大约 100 个用户插入到 Drupal 6 数据库中 - 他们的用户名、邮件和密码哈希值。

在阅读了 Drupal 6 使用的 PHP 类之后,我不确定我是否可以实现这一点。 我的方法是向每个用户发送一封类似于“Hello,x!您的新密码是 y”的邮件,然后将散列的“y”插入到 Drupal 的用户表中。

我知道 Drupal 返回一个 md5。但它不仅仅是 md5 的原始密码,而是一个非常混合的密码(使用 salt 和其他方法)。

我研究过 Drupal 的使用 便携式 PHP 密码哈希框架,但我认为它不起作用只需使用复制+粘贴的方法即可。

所以,我的问题是:我可以创建一个 PHP 函数来返回有效的 Drupal 6 密码哈希值并将其插入到其用户表中吗?

I want to make a script to insert some 100 users into a Drupal 6 database - their username, mail and password hash.

After reading about the PHP class that Drupal 6 uses, I'm not sure I can pull this off.
My method was to send every user a mail like "Hello, x! Your new password is y", then insert the hashed "y" into Drupal's user table.

I know Drupal returns an md5. But it doesn't just md5's the original password, but a very mixed-up password (using salt and other methods).

I've looked into the Portable PHP password hashing framework Drupal's using, but I don't think it works just with a copy+paste method.

So, my question is: can I make a PHP function that returns a valid Drupal 6 password hash to insert it into its user table?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

想挽留 2024-10-03 08:45:49

实际上,Drupal 6使用任何盐来计算密码的哈希值。它只是密码的简单 md5

您可以自己尝试一下。设置你的密码。

计算您的密码的 md5(您可以使用此链接 http://www.miraclesalad.com/webtools /md5.php 为了方便起见)。

完全相同

您会发现 users 表中 pass 列中存储在数据库中的哈希将与默认安装的此行为 Drupal 6 的行为(Drupal 7 的行为可能已更改)。仅当您安装了某些特殊模块时,Drupal 6 的行为才会有所不同。

Actually, Drupal 6 does not use any salt to calculate the hash of the password. Its just a simply md5 of the password

You can try this for your self. Set your password to something.

Calculate the md5 of your password (you can use this link http://www.miraclesalad.com/webtools/md5.php for convenience).

You will find that the hash stored in the database in the users table in the pass column will be exactly the same

This behavior for the default installation of Drupal 6 (the behavior may have changed for Drupal 7). Only if you have some special module installed will the behavior be any different for Drupal 6.

深空失忆 2024-10-03 08:45:49

如果您以编程方式创建用户,则应自行创建明文密码,然后使用 user_save() 函数将用户插入数据库。该函数将为您散列并保存所有内容。

If you're creating users programmatically, you should create the plaintext password yourself, and then use the user_save() function to insert the user into the database. That function will hash and save everything for you.

╄→承喏 2024-10-03 08:45:49

现有的用户导入模块看起来适用于批量用户导入。这不会回答您的“如何散列密码”问题,但它将消除对自定义(可能更容易出错)脚本的需要。

The existing user import module looks like it would work for bulk user importing. This does not answer your "how do I hash the password" question, but it would remove the need for a custom (probably more error prone) script.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文