Я использую bcrypt/blowfish в php, и когда я устанавливаю параметр стоимости в 10 долларов (я думаю, 1024 раунда), процесс шифрования занимает 0,1 секунды. Если я установил его на $ 12, это займет 0,3 секунды. Мой вопрос: Является ли это занимающим 0,3 секунды времени процессора. Если у меня будет 100 пользователей, которые будут запускать этот процесс, им все придется подождать 30 секунд (0,3 x 100)? (редактирование: может быть короче из-за обработки dual0core/multi-thread, но даже 10 секунд неприемлемо).Стоимость Blowfish против времени
Также: Что такое хорошее значение, чтобы оставить этот параметр стоимости включенным? некоторые люди рекомендуют $ 16, но это занимает более 5 секунд на моем сайте (размещенном большим веб-хостом).
, кстати, я использую следующий код, чтобы проверить время, затрачиваемое:
<?php
// set a password to work with
$var1 = "doodoo1234";
//echo that password onto the screen
echo $var1 . "<br /><br />";
//Start the clock
$time_start = microtime(true);
//Run blowfish function to encrypt the password
$hashedpass = PassHash::blowfishhash($var1);
//stop the clock
$time_end = microtime(true);
//echo the password to the screen
echo $echohashedpass . "<br /><br />";
//Echo the length of the encrypted password to the screen
//(this taught me that blowfish always returns a 60 varchar string)
echo strlen($sajpass). "<br /><br />";
$time = $time_end - $time_start;
echo "that took $time seconds\n";
?>
Вы можете попробовать его с помощью теста apache или ab для краткости, чтобы увидеть, как он обрабатывается под нагрузкой. – Zombaya
Nooo! не более бенчмаркинга! ... У меня нет такого доступа к серверу apache на моем веб-хостинге, и я уверен, что есть люди, которые внедрили защиту от дыма и могут ответить на это ... даже если я узнаю, сколько раундов большинство людей используют, я могу использовать это как отправную точку. –
Вы можете сравнивать с локальным компьютером. Я лично использую 8, это по умолчанию [phpass] (http://www.openwall.com/phpass/). – Zombaya