ConFoo 2025

mhash_keygen_s2k

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

mhash_keygen_s2kГенерирует ключ

Внимание

Функция УСТАРЕЛА с PHP 8.1.0. Пользоваться функцией настоятельно не рекомендуют.

Описание

#[\Deprecated]
mhash_keygen_s2k(
    int $algo,
    string $password,
    string $salt,
    int $length
): string|false

Функция генерирует ключ в соответствии с идентификатором хеша, который передали в аргументе algo, и пользовательским паролем, который передали в аргументе password.

Для генерации ключа функция использует алгоритм Salted S2K, как описывает документ OpenPGP » RFC 2440.

Помните, что пользовательские пароли не рекомендуют использовать как ключи в криптографических алгоритмах, поскольку пользователи часто выбирают ключи, которые доступны для набора на клавиатуре. Такие пароли используют только 6-7 битов на символ, а иногда меньше. Поэтому пользовательский ключ настоятельно рекомендуют преобразовывать функциями наподобие этой.

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

algo

Идентификатор хеша с которым создаётся ключ. Константа семейства MHASH_*.

password

Пользовательский пароль.

salt

Для параметра рекомендуют устанавливать разную и достаточно случайную соль для каждого ключа, который генерирует функция. Поскольку значение соли salt должно быть известно при проверке ключей, то лучше добавлять соль в начало ключа. Длина соли фиксирована и составляет 8 байтов, функция дополнит соль нулями, если размер значения в аргументе окажется короче.

length

Длина ключа в байтах.

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

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

Список изменений

Версия Описание
8.1.0 Функция устарела. Вместо неё рекомендуют пользоваться функциями семейства функции hash_*().

Добавить

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

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