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 相关文章推荐
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
PHP session有效期问题
Apr 26 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
PHP批量生成静态HTML的简单原理和方法
Apr 20 PHP
php自定义错误处理用法实例
Mar 20 PHP
php使用COPY函数更新配置文件的方法
Jun 18 PHP
PHP下载生成的csv文件及问题总结
Aug 06 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
Jan 07 PHP
PHP实现冒泡排序的简单实例
May 26 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 PHP
php-fpm开启状态统计的方法详解
Jun 23 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 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
php5 mysql分页实例代码
2008/04/10 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
thinkPHP框架实现生成条形码的方法示例
2018/06/06 PHP
Laravel中错误与异常处理的用法示例
2018/09/16 PHP
jQuery 性能优化手册 推荐
2010/02/23 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
jQuery选择id属性带有点符号元素的方法
2015/03/17 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
2016/03/05 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
node.js基础知识小结
2018/02/26 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
解决python3 json数据包含中文的读写问题
2018/05/10 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
python 根据列表批量下载网易云音乐的免费音乐
2020/12/03 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
iHerb中文官网:维生素、保健品和健康产品
2018/11/01 全球购物
普通简短的个人自我评价
2014/02/15 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
调查研究项目计划书
2014/04/29 职场文书
群众路线表态发言材料
2014/10/17 职场文书
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
Tomcat项目启动失败的原因和解决办法
2022/04/20 Servers
git中cherry-pick命令的使用教程
2022/06/25 Servers