Страницы

Поиск по вопросам

пятница, 9 ноября 2018 г.

Что значит стоимость вычисления при хэшировании пароля?

В мане по php столкнулся с такой функцией хэширования password_hash() в эту функцию передается три аргумента: пароль, алгоритм шифрования, дополнительные опции
Дополнительные опции здесь передаются как ассоциативный массив...в одном примере мана написано так:
$options = [ 'cost' => 11, 'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM), ];
Понятно что salt - это соль и под значением понимается функция которая генерирует эту соль, но мне неясно одно, что такое cost, и какую роль оно играет при шифровании?


Ответ

Вот достаточно развернутый ответ на английском языке. А на Wiki есть описание алгоритма, где вы можете понять, в каком месте используется cost.
Если коротко, то cost влияет на количество операций при получении хэша, как степень числа 2. При cost = 11 у вас будет 2**11 повторений алгоритма для вычисления.

Комментариев нет:

Отправить комментарий