PHP中sha1_file与md5_file哪个更快?

文件上传要做哈希,当然是越快越好,文件哈希有sha1_file与md5_file。

哪个更快呢?网上也没搜到相关的文章,于是决定做一个小测试:


测试代码如下:

//哈希效率
function microtime_float()
{
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
}


$timeS = microtime_float();
//$file = __file__;
$file = "E:\master.zip";
//$i = 100000;
$i = 100;
while($i--){
	//$h = sha1_file($file);
	$h = md5_file($file);
}
usleep(100);
$timeE = microtime_float();
echo ($timeE-$timeS);

这个脚本得到如下结果:

百万次 1k大小文件
--------------------------------------------------------------------------------------------------------------------------------------------------------

s: 18.87629404068 19.195725822449 18.930956029892 18.881467962265 19.300680780411
m: 16.138952159882 16.400405073166 16.787165784836 16.40980591774 17.104665184021


百次 10M大小文件
---------------------------------------------------------------------------------------------------------------------------------------------------------
s: 11.082350873947 10.256709003448 12.991893911362 10.373815917969 11.834413194656

m: 7.1500200271606 7.4944709777832 7.9799779891968 7.0472568511963 8.2962888717651


测试环境为64位win7 E5400 8G php5.2.17

看来,在这个环境下,MD5还是更快一点的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值