5.5.0, PHP 7 syntax bool password_needs_rehash ( string $h" />



English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP базовый курс

PHP продвинутый курс

PHP & MySQL

PHP справочник

PHP password_needs_rehash() функция примеры использования и примеры

PHP хэширование паролей

Функция password_hash() используется для проверки соответствия хеша указанным опциям.

Требования к PHP: PHP 5 >= 5.5.0, PHP 7

Синтаксис

bool password_needs_rehash ( string $hash , int $algo [, array $options ] )

Описание параметров:

  • hash: хеш, созданный функцией password_hash().
  • algo: Константа, указывающая алгоритм хеширования при хешировании пароля.
  • options: Ассоциативный массив с опциями. В настоящее время поддерживаются две опции: salt, добавляемая при хешировании пароля (CHAIN STRING), и cost, указывающий количество уровней рекурсии алгоритма. Примеры этих значений можно найти на странице crypt(). Пропуск, используется случайная соль иdefault cost.

Возвратное значение

Эта функция определяет, реализован ли указанный хеш с помощью предоставленных алгоритмов и опций. Если нет, необходимо заново сгенерировать хеш.

Онлайн примеры

<?php
$password = 'rasmuslerdorf';
$hash = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';
// При улучшении производительности оборудования параметр cost можно изменить
$options = array('cost' => 11);
// Проверка хеширования сохраненного хеша по открытом паролю
if (password_verify($password, $hash)) {
    // Проверьте, есть ли доступные обновленные алгоритмы хеширования
    // Или изменился параметр cost
    if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options)) {
        // Если это так, создайте новый хеш и замените старый
        $newHash = password_hash($password, PASSWORD_DEFAULT, $options);
    }
    // Позволяет пользователю войти в систему
}
?>

PHP хэширование паролей