International PHP Conference Berlin 2025

crypt_gensalt

(PECL xpass >= 1.1.0)

crypt_gensaltКомпилирует строку для использования в качестве аргумента salt в crypt

Описание

crypt_gensalt(string $prefix = null, int $count = 0): ?string

Компилирует строку для использования в качестве аргумента salt функции crypt().

Список параметров

prefix

Метод хеширования. Одна из констант CRYPT_PREFIX_*, смотрите страницу с константами Xpass. Если указано значение null, будет выбран наилучший из доступных методов хеширования.

count

Управляет стоимостью обработки хеша; допустимый диапазон и точное значение параметра count зависят от метода хеширования, но большие числа соответствуют более дорогим хешам с точки зрения процессорного времени и, возможно, использования памяти. Если значение параметра count равно 0, будет выбрана низкая стоимость по умолчанию.

Возвращаемые значения

Функция возвращает строку с настройками или null в случае возникновения ошибки.

Примеры

Пример #1 Пример использования функции crypt_gensalt()

<?php
// Создание соли
$salt = crypt_gensalt(CRYPT_PREFIX_BLOWFISH);
// Хеширование пароля
$hash = crypt("secret", $salt);
// Проверка соли
$test = hash_equals(crypt("secret", $hash), $hash);
var_dump($salt, $hash, $test);
?>

Результат выполнения приведённого примера:

string(29) "$2y$05$GcPykP.Am8C1.dGamdpwW."
string(60) "$2y$05$GcPykP.Am8C1.dGamdpwW.1RR.7uicWvJPZfJfCEizZHqVWwuaJLm"
bool(true)

Смотрите также

  • crypt_preferred_method() - Получает префикс предпочтительного метода хеширования
  • crypt() - Хеширует строку необратимым способом
  • hash_equals() - Сравнивает строки без риска атаки по времени

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top