質問

After searching over internet I came to know that With drupal 7, password are no more encrypted through md5.

What are possible ways to get passwords encrypted in Drupal 7??

役に立ちましたか?

解決

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;

他のヒント

Thanks Malik.

After search I found different solutions. Following solution also works

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()

The user_hash_password() function can be used to hash password, if you want to use it outside from outside Drupal, you need to bootstrap Drupal configuration.

chdir("/path/to/drupal");
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);
user_hash_password($password);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top