如何加密 drupal 7 的密码

发布于 2024-11-13 11:13:15 字数 74 浏览 3 评论 0原文

我想从另一个脚本添加新用户,并且需要为 Drupal7 用户创建密码,我找不到在 Drupal 上执行此操作的确切函数,那是什么函数?

I want add new user from another script and I need create password for Drupal7 users, I can't find exact function which is doing it on Drupal, what function is that?

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

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

发布评论

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

评论(1

奈何桥上唱咆哮 2024-11-20 11:13:15

在 drupal 7 中,密码不再通过 md5 加密。

在 drupal7 中有多种获取/设置密码的方法。

使用 drush(供您参考,未在您的情况下使用):

drush upwd admin --password="newpassword"

不使用 drush,如果您对服务器有 cli 访问权限:(供您参考,未在您的情况下使用)案例)

cd <drupal root directory>
php scripts/password-hash.sh 'myPassword'

现在复制生成的哈希值并将其粘贴到查询中:

update users set name='admin', pass='pasted_big_hash_from_above' where uid=1;

如果您正在无法连接的远程环境上工作,您可以将此指定的代码放入诸如password.php之类的文件中像这样:

<?php
if (isset($_GET['p'])) {
  require_once dirname(__FILE__) . '/includes/bootstrap.inc';
  require_once dirname(__FILE__) . '/includes/password.inc';
  print _password_crypt('sha512', $_GET['p'], _password_generate_salt(DRUPAL_HASH_COUNT));
  exit();
}
print "No password to hash.";

然后使用以下命令访问您的网站: http://domain.tld/password.php?p= “我的密码”。哈希值将显示在您的浏览器选项卡上。
完成后不要忘记将其删除。

因此,如果您想使用一些密码函数生成,请查看 < strong>_password_crypt()_password_generate_salt()

With drupal 7, password are no more encrypted through md5.

There are several way to get/set a password in drupal7.

Using drush (for your information, not used in your case):

drush upwd admin --password="newpassword"

Without drush, if you have a cli access to the server : (for your information, not used in your case)

cd <drupal root directory>
php scripts/password-hash.sh 'myPassword'

Now copy the resultant hash and paste it into the query:

update users set name='admin', pass='pasted_big_hash_from_above' where uid=1;

If you are working on a remote environment on which you cannot connect, you can put this specified code in a file such as password.php such as this one:

<?php
if (isset($_GET['p'])) {
  require_once dirname(__FILE__) . '/includes/bootstrap.inc';
  require_once dirname(__FILE__) . '/includes/password.inc';
  print _password_crypt('sha512', $_GET['p'], _password_generate_salt(DRUPAL_HASH_COUNT));
  exit();
}
print "No password to hash.";

And then hit your site using: http://domain.tld/password.php?p='MyPassword'. The hash will appear on your browser's tab.
Don't forget to remove it once you done it.

So, if you want to use some password function generation, have a look on _password_crypt() and _password_generate_salt()

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