2011-06-05 111 views
1

我想从另一个脚本添加新用户,我需要为Drupal7用户创建密码,我无法在Drupal上找到确切的功能,这是什么功能?如何加密drupal 7的密码

回答

11

使用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='MyPassword'。哈希将出现在您的浏览器选项卡上。
一旦完成,不要忘记将其删除。

所以,如果你想使用一些密码函数的产生,对_password_crypt()_password_generate_salt()

+0

非常感谢哈扎看看!这工作。 – Tom 2011-06-05 10:57:40