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 相关文章推荐
关于mysql 字段的那个点为是定界符
Jan 15 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
php实现格式化多行文本为Js可用格式
Apr 15 PHP
PHP引用的调用方法分析
Apr 25 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
PHP入门教程之图像处理技巧分析
Sep 11 PHP
PHP实现查询手机归属地的方法详解
Apr 28 PHP
php微信开发之关键词回复功能
Jun 13 PHP
PHP强制转化的形式整理
May 22 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
May 29 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约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
比较搞笑的js陷阱题
2010/02/07 Javascript
js操作二级联动实现代码
2010/07/27 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
js清空form表单中的内容示例
2014/05/20 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
jQuery向webApi提交post json数据
2017/01/16 Javascript
nodejs多版本管理总结
2018/04/03 NodeJs
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
vue 内置过滤器的使用总结(附加自定义过滤器)
2018/12/11 Javascript
详解在React项目中安装并使用Less(用法总结)
2019/03/18 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
2020/11/12 Javascript
让python json encode datetime类型
2010/12/28 Python
Pyramid Mako模板引入helper对象的步骤方法
2013/11/27 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
深入理解Django-Signals信号量
2019/02/19 Python
python实现BP神经网络回归预测模型
2019/08/09 Python
Python通过2种方法输出带颜色字体
2020/03/02 Python
django列表筛选功能的实现代码
2020/03/27 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
上课迟到检讨书100字
2014/01/11 职场文书
开业庆典策划方案
2014/02/18 职场文书
个人典型事迹材料
2014/12/30 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书