Reputation: 421
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??
Upvotes: 7
Views: 8837
Reputation: 4873
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);
Upvotes: 3
Reputation: 421
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()
Upvotes: 3
Reputation: 6959
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;
Upvotes: 15