Php не может взорвать хэш со стоимостью более 17

Я использую php crypt () для хеширования паролей. Я решил пойти с алгоритмом Blowfish и использовать соль. Соли в crypt () определяют алгоритм, так что соль blowfish начинается с $ 2y $ xx $, где xx — параметр стоимости в диапазоне 4-31 (см. http://php.net/manual/pl/function.crypt.php). Я также использую генератор случайных чисел bin2hex и openssl, чтобы получить случайную соль. Насколько я понимаю, его установка выше потребует больше вычислительного времени и сделает длительную атаку грубой силой.

Моя проблема в том, что я не могу заставить мой скрипт работать с параметром стоимости, установленным более 17. При запуске из браузера страница загружается около 1 минуты, а затем останавливается с пустой страницей. Даже не эхо. Это почему? Как я мог использовать 30 вместо 17? Это вопрос настроек моего php сервера?

Вот код:

<?php
$reps=17;
echo 'pre';
echo crypt('passwdMike',"$2y$".$reps."$".bin2hex(openssl_random_pseudo_bytes(22)));
echo 'post';
?>

Изменить: я могу пойти с более высокими коэффициентами из командной строки. 18 было меньше минуты. 30 ждут более 10 минут сейчас. Так что, очевидно, это слишком много, и 12 будет достаточно.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]