Я использую bcrypt/blowfish в php, и когда я устанавливаю параметр стоимости в 10 долларов (я думаю, 1024 раунда), процесс шифрования занимает 0,1 секунды. Если я установлю его на 12 долларов, это займет 0,3 секунды. Мой вопрос: занимает ли это 0,3 секунды процессорного времени, то есть, если у меня есть 100 пользователей, выполняющих этот процесс, им всем придется ждать 30 секунд (0,3 x 100)? (изменить: может быть короче из-за двухъядерной/многопоточной обработки, но даже 10 секунд неприемлемо).
Также: какое значение лучше оставить включенным для этого параметра стоимости? некоторые люди рекомендуют 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";
?>