wp_hash_password()
Шифрує переданий текст. Шифр завжди виходить унікальним. Використовується для шифрування паролів.
Створює хеш із простого тексту. Хеш завжди виходить різний, тобто. якщо 2 рази однаково викликати функцію, результати відрізнятимуться. див. Приклад 1.
Функція використовує клас PasswordHash , який розташований у /wp-includes/class-phpass.php . PasswordHash можна конфігурувати, дивіться приклад.
Це init .
Заміна функції (перевизначення) — у плагіні можна створити функцію з такою самою назвою, тоді вона замінить поточну функцію.
Основа для:
wp_set_password()
wp_set_password()
1 раз – 0.003847 сек
(дуже повільно) | 50000 разів – 106.27 сек
(гальмо) |
PHP 7.2.5, WP 4.9.8
(дуже повільно) | 50000 разів – 106.27 сек
(гальмо) |
PHP 7.2.5, WP 4.9.8
Хуків немає.
Повертає
Строку. Рядок, зашифрований пароль.
Використання
$ hash = wp_hash_password ($ password);
- $password
(рядок) (обов’язковий) - Звичайний текст (пароль), який потрібно зашифрувати.
Приклади
#1 Приклад роботи функції
echo wp_hash_password( 'my_pass' ); //> $P$B1tp3GD53ykbIGC4hf84pvbEjSUloq. // зашифруємо ще раз точно так само echo wp_hash_password( 'my_pass' ); //> $P$Bu3CWn/Y0zTG8IXJ8ee9yiT715tWxG/
#2 Встановимо глобальну змінну $wp_hasher
Щоб пароль створювався із потрібними нам параметрами:
global $wp_hasher; $wp_hasher = New PasswordHash(16, FALSE); $hashedPassword = wp_hash_password($password);
#3 Порівняємо вже зашифрований пароль зі звичайним
$wp_hasher = New PasswordHash(8, TRUE);
$password_hashed = '$P$B55D6LjfHDkINU5wF.v2BuuzO0/XPk/';
$plain_password = 'test';
if( $wp_hasher->CheckPassword($plain_password, $password_hashed) ) {
echo "Паролі збігаються";
}
else {
echo "Пароль не вірний";
}
нотатки
- Global. PasswordHash. $wp_hasher PHPass object
список змін
| З версії 2.5.0 | Введено. |
Код wp_hash_password() wp hash password WP 6.0.2
function wp_hash_password( $password ) {
global $wp_hasher;
if ( empty( $wp_hasher ) ) {
require_once ABSPATH. WPINC. '/class-phpass.php';
// By default, use the portable hash from phpass.
$wp_hasher = New PasswordHash(8, true);
}
return $wp_hasher->HashPassword(trim($password));
}