wp_generate_password() – Generates a random password drawn from the defined set of characters.

You appear to be a bot. Output may be restricted

Description

Generates a random password drawn from the defined set of characters.

Uses wp_rand() is used to create passwords with far less predictability than similar native PHP functions like rand() or `mt_rand()`.

Usage

$string = wp_generate_password( $length, $special_chars, $extra_special_chars );

Parameters

$length
( int ) optional default: 12 – Optional. The length of password to generate. Default 12.
$special_chars
( bool ) optional default: 1 – Optional. Whether to include standard special characters. Default true.
$extra_special_chars
( bool ) optional – Optional. Whether to include other special characters. Used when generating secret keys and salts. Default false.

Returns

string The random password.

Source

File name: wordpress/wp-includes/pluggable.php
Lines:

1 to 27 of 27
  function wp_generate_password( $length = 12, $special_chars = true, $extra_special_chars = false ) {
    $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
    if ( $special_chars ) {
      $chars .= '!@#$%^&*()';
    }
    if ( $extra_special_chars ) {
      $chars .= '-_ []{}<>~`+=,.;:/?|';
    }

    $password = '';
    for ( $i = 0; $i < $length; $i++ ) {
      $password .= substr( $chars, wp_rand( 0, strlen( $chars ) - 1 ), 1 );
    }

    
/**
 * Filters the randomly-generated password.
 *
 * @since 3.0.0
 * @since 5.3.0 Added the `$length`, `$special_chars`, and `$extra_special_chars` parameters.
 *
 * @param string $password            The generated password.
 * @param int    $length              The length of password to generate.
 * @param bool   $special_chars       Whether to include standard special characters.
 * @param bool   $extra_special_chars Whether to include other special characters.
 */
    return apply_filters( 'random_password', $password, $length, $special_chars, $extra_special_chars );
  }
 

 View on GitHub View on Trac