php哈希密码性能

php哈希密码性能,php,hash,passwords,Php,Hash,Passwords,我构建了一个php哈希系统,我对脚本的速度性能感到困惑。 我针对不同数量的请求对脚本进行了基准测试(速度只针对脚本,不涉及其他内容) 10次请求:0.001秒 100次请求:0.011秒 1000次请求:0.073秒 10000次请求:0.667秒 100000次请求:6.776秒 100万之后,服务器返回空白屏幕 我的困惑是: 如果1000名用户同时尝试登录,是否需要0.00001秒对每个用户的密码输入进行散列并对照其原始密码进行检查,或者每个用户需要0.073秒 benM这是基准测试的脚本:

我构建了一个php哈希系统,我对脚本的速度性能感到困惑。 我针对不同数量的请求对脚本进行了基准测试(速度只针对脚本,不涉及其他内容)

10次请求:0.001秒

100次请求:0.011秒

1000次请求:0.073秒

10000次请求:0.667秒

100000次请求:6.776秒

100万之后,服务器返回空白屏幕

我的困惑是:

如果1000名用户同时尝试登录,是否需要0.00001秒对每个用户的密码输入进行散列并对照其原始密码进行检查,或者每个用户需要0.073秒

benM这是基准测试的脚本:

function test() 
{
  global $result;
  ob_start();
  $x = microtime(true);

  while($i < 10000) 
  {
      print // here you add whatever you want to test;
      ++$i;
  }

  $temp = microtime(true) - $x;
  ob_end_clean();
  return $temp;
}
echo number_format(test(), 3);
功能测试()
{
全球$结果;
ob_start();
$x=微时间(真);
而($i<10000)
{
打印//在此处添加任何要测试的内容;
++$i;
}
$temp=微时间(真)-$x;
ob_end_clean();
返回$temp;
}
回波号_格式(test(),3);

您使用的基准测试脚本并不理想,因为它在单个请求中测试它们。你不必担心这个,因为IRL,没有用户会在一个请求中登录1000次

您如何对此进行基准测试?如果它是在对服务器的单个请求中,那么您不必担心。对于单个请求,0.00001秒是正确的。每个登录基本上是一个单独的连接,因此请求。服务器应该像处理单个请求一样进行管理(很难解释,但希望这是有意义的)。今天的机器有多个核心。这一切都很顺利。你担心这些事情太快了。过早的优化是万恶之源。如果百万人返回空白,是否会触发PHP超时?您可以在php.ini/htaccess或程序中设置超时值。Re“我已经构建了一个哈希系统”:您使用的是什么算法?另外,如果是针对密码散列,请注意fast被认为不适合密码散列算法。他们越快,黑客就越快。另外,如果这是密码,我可以谦虚地建议你使用一个像样的安全库,比如说,而不是使用你自己的。@alex_petrea-很公平。bcrypt是最好的算法,所以如果你使用它,你就在正确的轨道上。(这是我建议的库和任何其他像样的库使用的库)谢谢你的回答,我很困惑,因为我正在尝试建立一个散列金字塔,我刚刚开始,进度大约是10%,我想在完成之前知道我是否走对了路