function user_pass_rehash in Drupal 10
Same name and namespace in other branches
- 8 core/modules/user/user.module \user_pass_rehash()
- 4 modules/user.module \user_pass_rehash()
- 5 modules/user/user.module \user_pass_rehash()
- 6 modules/user/user.module \user_pass_rehash()
- 7 modules/user/user.module \user_pass_rehash()
- 9 core/modules/user/user.module \user_pass_rehash()
Creates a unique hash value for use in time-dependent per-user URLs.
This hash is normally used to build a unique and secure URL that is sent to the user by email for purposes such as resetting the user's password. In order to validate the URL, the same hash can be generated again, from the same information, and compared to the hash value from the URL. The hash contains the time stamp, the user's last login time, the numeric user ID, and the user's email address. For a usage example, see user_cancel_url() and \Drupal\user\Controller\UserController::confirmCancel().
Parameters
\Drupal\user\UserInterface $account: An object containing the user account.
int $timestamp: A UNIX timestamp, typically \Drupal::time()->getRequestTime().
Return value
string A string that is safe for use in URLs and SQL statements.
14 calls to user_pass_rehash()
- UserCancelTest::testUserAnonymize in core/
modules/ user/ tests/ src/ Functional/ UserCancelTest.php - Delete account and anonymize all content.
- UserCancelTest::testUserAnonymizeBatch in core/
modules/ user/ tests/ src/ Functional/ UserCancelTest.php - Delete account and anonymize all content using a batch process.
- UserCancelTest::testUserAnonymizeTranslations in core/
modules/ user/ tests/ src/ Functional/ UserCancelTest.php - Delete account and anonymize all content and it's translations.
- UserCancelTest::testUserBlock in core/
modules/ user/ tests/ src/ Functional/ UserCancelTest.php - Disable account and keep all content.
- UserCancelTest::testUserBlockUnpublish in core/
modules/ user/ tests/ src/ Functional/ UserCancelTest.php - Disable account and unpublish all content.
File
- core/
modules/ user/ user.module, line 568 - Enables the user registration and login system.
Code
function user_pass_rehash(UserInterface $account, $timestamp) {
$data = $timestamp;
$data .= $account
->getLastLoginTime();
$data .= $account
->id();
$data .= $account
->getEmail();
return Crypt::hmacBase64($data, Settings::getHashSalt() . $account
->getPassword());
}