wp_check_password()
Порівнює рядки паролів: читальний пароль (звичайний) з кодованим паролем (як хеша). Потрібна для перевірки пароля користувача.
Параметр $hash закодований пароль (зберігається в базі даних), а параметр $password – звичайний текстовий пароль. Функція кодує переданий текстовий пароль і порівнює хеш, що вийшов, із зазначеним, якщо вони збігаються (кодовані за одним принципом) функція поверне true.
Підтримує зворотну сумісність зі старою версією протоколу автентифікації, який ще не використовує PHPass бібліотеку.
Це init .
Заміна функції (перевизначення) — у плагіні можна створити функцію з такою самою назвою, тоді вона замінить поточну функцію.
PasswordHash::CheckPassword()
(дуже повільно) | 50000 разів – 124.36 сек
(гальмо) |
PHP 7.1.2, WP 4.7.5
Хуки з функції
Повертає
true|false
. true/false: false, якщо пароль не збігається з хеш.
Використання
wp_check_password($password, $hash, $user_id);
-
$password
(рядок) (обов’язковий) - Пароль як звичайного тексту.
-
$hash
(рядок) (обов’язковий) - Закодований пароль, з яким потрібно порівняти перший параметр.
-
$user_id
(число) -
ID користувача, якому потрібно перезберегти хеш пароля відповідно до нового (останнього) алгоритму хешування. Перезбереження відбудеться лише якщо вказаний пароль пройде перевірку.
За замовчуванням: ”
Приклади
#1 Перевіримо пароль користувача
Допустимо у нас є пароль у вигляді звичайного тексту і нам потрібно дізнатися чи є пароль паролем користувача з ID 3:
$user = get_userdata(3); if($user) { $password = 'moy-super-parol'; $hash = $user->data->user_pass; if (wp_check_password($password, $hash)) echo "Це пароль користувача"; else echo "Це не його пароль"; }
нотатки
- Global. PasswordHash. $wp_hasher PHPass object used для checking the password against the $hash + $password
список змін
З версії 2.5.0 | Введено. |