wp_generate_password( int $length = 12, bool $special_chars = true, bool $extra_special_chars = false )

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


Parameters

$length

(int) (Optional) The length of password to generate.

Default value: 12

$special_chars

(bool) (Optional) Whether to include standard special characters.

Default value: true

$extra_special_chars

(bool) (Optional) Whether to include other special characters. Used when generating secret keys and salts.

Default value: false


Return

(string) The random password.


Source

File: wp-includes/pluggable.php

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 WP-3.0.0
	 *
	 * @param string $password The generated password.
	 */
	return apply_filters( 'random_password', $password );
}


Changelog

Changelog
Version Description
WP-2.5.0 Introduced.