PHP中对各种加密算法、Hash算法的速度测试对比代码


Posted in PHP onJuly 08, 2014

PHP 的Hash算法是比较常用的,现在的MD5有时候不太安全,就得用到Hash_algos()中的其它算法,下面进行了一个性能的比较。

php代码:

define('testtime', 50000);
$algos = hash_algos();
foreach($algos as $algo) {
	$st = microtime();
	for($i = 0; $i < testtime; $i++) {
		hash($algo, microtime().$i);
	}
	$et = microtime();
	list($ss, $si) = explode(' ', $st);
	list($es, $ei) = explode(' ', $et);
	$time[$algo] = $ei + $es - $si - $ss;
}
asort($time, SORT_NUMERIC);
echo "";
print_r($time);
Array
(
  [crc32b] => 0.14577506593323
  [crc32] => 0.14600901216125
  [adler32] => 0.14769597711182
  [md4] => 0.1584680151825
  [md5] => 0.15956400747681
  [salsa20] => 0.16176804933166
  [salsa10] => 0.16325911569214
  [tiger128,3] => 0.16543607070923
  [sha1] => 0.16547892630005
  [tiger160,3] => 0.16672711079407
  [tiger192,3] => 0.16793211837769
  [tiger128,4] => 0.16802901655579
  [sha224] => 0.16959108877563
  [tiger160,4] => 0.1713979150238
  [tiger192,4] => 0.1717759589386
  [sha256] => 0.17396298696899
  [ripemd256] => 0.17431005943298
  [ripemd128] => 0.17437094918823
  [ripemd320] => 0.17870710316467
  [haval160,3] => 0.18147005220032
  [haval256,3] => 0.18150104528809
  [haval224,3] => 0.18176211320496
  [sha512] => 0.18234492471313
  [haval192,3] => 0.18296506645203
  [ripemd160] => 0.18318411643982
  [haval128,3] => 0.18408892243958
  [sha384] => 0.18502903718567
  [haval128,4] => 0.18848111178589
  [haval256,4] => 0.18875202952576
  [haval160,4] => 0.1895639828186
  [haval224,4] => 0.19041207319641
  [haval192,4] => 0.19101205462646
  [whirlpool] => 0.19728892146301
  [haval256,5] => 0.19996902294922
  [haval160,5] => 0.20026498704529
  [haval192,5] => 0.20072503967285
  [haval128,5] => 0.20132308227539
  [haval224,5] => 0.2025869493103
  [gost] => 0.24892493852234
  [snefru256] => 0.28652299385071
  [snefru] => 0.29043891609192
  [md2] => 0.6300178873291
)
PHP 相关文章推荐
配置PHP使之能同时支持GIF和JPEG
Oct 09 PHP
php magic_quotes_gpc的一点认识与分析
Aug 18 PHP
php str_pad 函数使用详解
Jan 13 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
Jul 09 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
Aug 07 PHP
php实现批量下载百度云盘文件例子分享
Apr 10 PHP
通过php删除xml文档内容的方法
Jan 23 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
Jan 09 PHP
非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程
Apr 12 PHP
PHP常用header头定义代码示例汇总
Aug 29 PHP
php修改word的实例方法
Nov 17 PHP
微信公众平台天气预报功能开发
Jul 06 #PHP
最常用的8款PHP调试工具
Jul 06 #PHP
一个不易被发现的PHP后门代码解析
Jul 05 #PHP
linux下使用crontab实现定时PHP计划任务失败的原因分析
Jul 05 #PHP
php操作redis中的hash和zset类型数据的方法和代码例子
Jul 05 #PHP
采用memcache在web集群中实现session的同步会话
Jul 05 #PHP
30个php操作redis常用方法代码例子
Jul 05 #PHP
You might like
PHP中ob_start函数的使用说明
2013/11/11 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
PHP如何实现跨域
2016/05/30 PHP
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
php跨域调用json的例子
2013/11/13 Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
2014/04/04 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
解决layui前端框架 form表单,table表等内置控件不显示的问题
2018/08/19 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
在Vue项目中用fullcalendar制作日程表的示例代码
2019/08/04 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
如何优雅地取消 JavaScript 异步任务
2020/03/22 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
python Dijkstra算法实现最短路径问题的方法
2019/09/19 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
linux面试题参考答案(5)
2014/09/01 面试题
英语专业职业生涯规划范文
2014/03/05 职场文书
公益广告语集锦
2014/03/13 职场文书
煤矿安全承诺书
2014/05/22 职场文书
施工工地安全标语
2014/06/07 职场文书
保护动物的标语
2014/06/11 职场文书
建筑施工安全生产责任书
2014/07/22 职场文书
授权委托书(完整版)
2014/09/10 职场文书
教师师德师风整改措施
2014/10/24 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
紫日观后感
2015/06/05 职场文书
python中if和elif的区别介绍
2021/11/07 Python
Python中第三方库Faker的使用详解
2022/04/02 Python
Vue Element plus使用方法梳理
2022/12/24 Vue.js