array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.password-verify.php', 1 => 'password_verify', ), 'up' => array ( 0 => 'ref.password.php', 1 => 'Функции хеширования паролей', ), 'prev' => array ( 0 => 'function.password-needs-rehash.php', 1 => 'password_needs_rehash', ), 'next' => array ( 0 => 'book.rnp.php', 1 => 'Rnp', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/password/functions/password-verify.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — Проверяет, соответствует ли пароль хешу
Проверяет, соответствует ли пароль хешу. Функция password_verify() совместима с crypt(). Следовательно, хеши паролей, созданные crypt(), могут быть использованы в password_verify().
Обратите внимание, что password_hash() возвращает алгоритм, стоимость и соль как части хеша. Таким образом, вся необходимая для проверки информация включена в него. Это позволяет производить проверку без необходимости хранить все эти данные раздельно.
Эта функция безопасна для атак по времени.
password
Пользовательский пароль.
hash
Хеш, который создаёт функция password_hash().
Пример #1 Пример использования password_verify()
Это упрощённый пример; при необходимости рекомендуется пересоздать правильный пароль; смотрите пример в описании функции password_needs_rehash().
<?php
// Смотрите пример использования password_hash(), для понимания откуда это взялось.
$hash = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Пароль правильный!';
} else {
echo 'Пароль неправильный.';
}
?>
Результат выполнения приведённого примера:
Пароль правильный!