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中的正规表达式(一)
Oct 09 PHP
URL Rewrite的设置方法
Jan 02 PHP
dedecms系统常用术语汇总
Apr 03 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
PHP面向对象程序设计之接口用法
Aug 20 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
symfony2.4的twig中date用法分析
Mar 18 PHP
Laravel与CI框架中截取字符串函数
May 08 PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 PHP
PHP基本语法实例总结
Sep 09 PHP
php微信公众号开发模式详解
Nov 28 PHP
Yii框架的路由配置方法分析
Sep 09 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中call_user_func_array的作用
2013/06/07 PHP
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
php登陆页的密码处理方式分享
2013/10/14 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
jQuery Ajax 仿AjaxPro.Utility.RegisterTypeForAjax辅助方法
2011/09/27 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
js防止页面被iframe调用的方法
2014/10/30 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
js中获取 table节点各tr及td的内容简单实例
2016/10/14 Javascript
Node.js使用gm拼装sprite图片
2017/07/04 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
vue使用swiper实现中间大两边小的轮播图效果
2019/11/24 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
python调用cmd复制文件代码分享
2013/12/27 Python
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
浅谈tensorflow中几个随机函数的用法
2018/07/27 Python
django框架自定义模板标签(template tag)操作示例
2019/06/24 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
澳洲网红粉泥面膜:Sand & Sky
2019/08/13 全球购物
大学军训自我鉴定
2013/12/15 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
组织生活会发言材料
2014/12/15 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS