function user_password

You are here

7 user.module user_password($length = 10)
4.6 user.module user_password($length = 10)
4.7 user.module user_password($length = 10)
5 user.module user_password($length = 10)
6 user.module user_password($length = 10)
8 user.module user_password($length = 10)

Generate a random alphanumeric password.

8 calls to user_password()
DbLogTest::doUser in core/modules/dblog/lib/Drupal/dblog/Tests/DbLogTest.php
Generates and then verifies some user events.
EntityReferenceSelectionAccessTest::testUserHandler in core/modules/entity_reference/lib/Drupal/entity_reference/Tests/EntityReferenceSelectionAccessTest.php
Test the user-specific overrides of the entity handler.
RegisterFormController::submit in core/modules/user/lib/Drupal/user/RegisterFormController.php
Overrides Drupal\Core\Entity\EntityFormController::submit().
UpdateScriptTest::testUpdateAccess in core/modules/system/lib/Drupal/system/Tests/Update/UpdateScriptTest.php
Tests access to the update script.
UserCancelTest::testUserCancelUid1 in core/modules/user/lib/Drupal/user/Tests/UserCancelTest.php
Tests that user account for uid 1 cannot be cancelled.

... See full list

File

core/modules/user/user.module, line 354
Enables the user registration and login system.

Code

function user_password($length = 10) {
  // This variable contains the list of allowable characters for the
  // password. Note that the number 0 and the letter 'O' have been
  // removed to avoid confusion between the two. The same is true
  // of 'I', 1, and 'l'.
  $allowable_characters = 'abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ23456789';

  // Zero-based count of characters in the allowable list:
  $len = strlen($allowable_characters) - 1;

  // Declare the password as a blank string.
  $pass = '';

  // Loop the number of times specified by $length.
  for ($i = 0; $i < $length; $i++) {
    do {
      // Find a secure random number within the range needed.
      $index = ord(Crypt::randomBytes(1));
    } while ($index > $len);

    // Each iteration, pick a random character from the
    // allowable string and append it to the password:
    $pass .= $allowable_characters[$index];
  }

  return $pass;
}