在互联网上搜索后,我发现有了drupal 7,密码不再通过md5加密。
在Drupal7中加密密码的可能方法是什么??
使用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;
谢谢Malik。
经过搜索,我找到了不同的解决方案。以下解决方案也适用于
如果你在一个无法连接的远程环境中工作,你可以把这个指定的代码放在一个文件中,比如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="我的密码"。哈希将显示在浏览器的选项卡上。做完后别忘了把它取下来。因此,如果您想使用一些密码函数生成,请查看_password_crypt()和_password_generate_salt()
user_hash_password()
函数可以用来哈希密码,如果你想从Drupal外部使用它,你需要引导Drupal配置。
chdir("/path/to/drupal");
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
user_hash_password($password);