wp_hash_password()
Encrypts the specified text to make a password hash from it.
Creates a hash from plain text. The hash is always unique, i.e. if the function is called 2 times, the results will be different. see example 1.
The function uses the PasswordHash class, which is located in /wp-includes/class-phpass.php. PasswordHash can be configured, see the example.
Pluggable function — this function can be replaced from a plugin. It means that this function is defined (works) only after all plugins are loaded (included), but before this moment this function has not defined. Therefore, you cannot call this and all functions depended on this function directly from a plugin code. They need to be called on plugins_loaded hook or later, for example on init hook.
Function replacement (override) — in must-use or regular plugin you can create a function with the same name, then it will replace this function.
Hooks from the function
Returns
String
. The hash string of the password.
Usage
wp_hash_password(;
Examples
#1 Function operation example
echo wp_hash_password( 'my_pass' ); //> $P$B1tp3GD53ykbIGC4hf84pvbEjSUloq. // let's encrypt again in the same way echo wp_hash_password( 'my_pass' ); //> $P$Bu3CWn/Y0zTG8IXJ8ee9yiT715tWxG/
#2 Set global variable $wp_hasher, to create a password with the required parameters:
global $wp_hasher; $wp_hasher = new PasswordHash( 16, FALSE ); $hashedPassword = wp_hash_password( $password );
#3 Let's compare the encrypted password with not encrypted one
$wp_hasher = new PasswordHash( 8, TRUE ); $password_hashed = '$P$B55D6LjfHDkINU5wF.v2BuuzO0/XPk/'; $plain_password = 'test'; if( $wp_hasher->CheckPassword($plain_password, $password_hashed) ) { echo "The passwords match"; } else { echo "The password is not correct"; }
Notes
- Global. PasswordHash. $wp_hasher phpass object.
Changelog
Since 2.5.0 | Introduced. |
Since 6.8.0 | The password is now hashed using bcrypt by default instead of phpass. |