Создание хэша пароля в PHP 5.5 и настройка стоимости

Я знаю, что PHP 5.5 находится в альфа-версии, но этот класс, который я создаю, просто создается заранее, чтобы использовать его ».Функция хеширования с использованием function_exists ().

Я проверилpassword_hash документация. Третий аргумент для $ options, который в настоящее время поддерживает две опции:поваренная соль' а также 'Стоимость'.

В нем говорится следующее:

стоимость, которая обозначает алгоритмическую стоимость, которая должна быть использована. Примеры этих значений можно найти на странице crypt ().

Когда я перехожу на страницу crypt (), документация, которую она дает, выглядит так:

Blowfish смешивание с солью следующим образом:$ 2a $ ","$ 2x $» или же "$ 2y $»двухзначный параметр стоимости, "$15$quot;и 22 цифры из алфавита "./0-9A-Za-z», Использование символов вне этого диапазона в соли приведет к тому, что crypt () вернет строку нулевой длины. Двузначный параметр стоимости - это логарифм base-2 числа итераций для базового алгоритма хеширования на основе Blowfish, и он должен находиться в диапазоне 04-31, значения вне этого диапазона вызовут ошибку crypt (). Поддерживаются только версии PHP до 5.3.7$ 2a $» в качестве префикса соли: PHP 5.3.7 представил новые префиксы для исправления уязвимости безопасности в реализации Blowfish. Пожалуйста, обратитесь к " этот документ содержит полную информацию об исправлении безопасности, но в итоге разработчики, ориентированные только на PHP 5.3.7 и более поздние версии, должны использовать "$ 2y $» в предпочтении "$ 2a $».

Я могу'Кажется, моя голова обернулась вокруг этого. В нем говорится, что PHP 5.3.7 и более поздние версии должны использовать $ 2y $, но какое значение стоимости я должен использовать, чтобы получить его, и является ли это лучшим значением для выбора? В приведенном ими примере используется значение 7, но в соответствии с вышеизложенным оно может доходить до 31, какая разница, если использовать 4, а не 31?

Ответы на вопрос(2)

Ваш ответ на вопрос