网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > PHP > 正文
md5()效率问题要注意
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/12/07
下载{$ArticleTitle}原创论文样式

  md5()函数的执行时间会随着字符串的长度增加而直线变慢。

  我们产生size长的随机字符串,并做md5()函数运算,代码如下:

function random($length, $numeric = 0) {
PHP_VERSION < '4.2.0' && mt_srand((double)microtime() * 1000000);
if($numeric) {
 $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
} else {
 $hash = '';
 $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
 $max = strlen($chars) - 1;
 for($i = 0; $i < $length; $i++) {
  $hash .= $chars[mt_rand(0, $max)];
 }
}
return $hash;
}
function md5test($size) {
$str = random($size);
$mtime = explode(' ', microtime());
$stime = $mtime[1] + $mtime[0];
md5($str);
$mtime = explode(' ', microtime());
echo number_format(($mtime[1] + $mtime[0] - $stime), 6)."<br>";
}
echo md5test(100);
echo md5test(1000);
echo md5test(10000);
echo md5test(100000);

  结果是

  0.000056

  0.000047

  0.000197

  0.001964

  如果需要对数据进行md5()运算,可以考虑对数据先做有损计算再md5().

  如果是PHP的话,在所需加密的字符串位数较少时,hash('md5', 'xxx')会比md5('xxx')效率高上2-8倍左右。当位数增加的时候,比如500位以上时,hash('md5', 'xxx')与md5('xxx')时间基本相差无几,可以放心使用。

(责任编辑:admin)

  • 下一篇资讯: PHP模拟多线程方法总结
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号