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)); }