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 相关文章推荐
GD输出汉字的函数的分析
Oct 09 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
PHP 登录完成后如何跳转上一访问页面
Jan 14 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
php获取apk包信息的方法
Aug 15 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
Nov 17 PHP
浅谈php冒泡排序
Dec 30 PHP
php根据某字段对多维数组进行排序的方法
Mar 07 PHP
php微信扫码支付 php公众号支付
Mar 24 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
PHP安全之register_globals的on和off的区别
Jul 23 PHP
php 原生分页
Apr 01 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
PHP浮点数精度问题汇总
2015/05/13 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
javascript框架设计之种子模块
2015/06/23 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
jQuery实现侧浮窗与中浮窗切换效果的方法
2016/09/05 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
Bootstrap表单使用方法详解
2017/02/17 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
4个顶级开源JavaScript图表库
2018/09/29 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
2018/11/01 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
Python异常处理总结
2014/08/15 Python
Python多线程下载文件的方法
2015/07/10 Python
用Python设计一个经典小游戏
2017/05/15 Python
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
Python实现两款计算器功能示例
2017/12/19 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
python构造函数init实例方法解析
2020/01/19 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
工程测量与监理专业应届生求职信
2013/11/27 职场文书
党建示范点实施方案
2014/03/12 职场文书
父亲婚礼答谢词
2015/01/04 职场文书