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 相关文章推荐
如何在WIN2K下安装PHP4.04
Oct 09 PHP
php中Smarty模板初体验
Aug 08 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
php处理restful请求的路由类分享
Feb 27 PHP
ThinkPHP之getField详解
Jun 20 PHP
php中获取主机名、协议及IP地址的方法
Nov 18 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
PHP自定义错误用法示例
Sep 28 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
PHP常量define和const的区别详解
May 18 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
Laravel 读取 config 下的数据方法
Oct 13 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连接函数implode与分割explode的深入解析
2013/06/26 PHP
基于php的CMS中展示文章类实例分析
2015/06/18 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
php unicode编码和字符串互转的方法
2020/08/12 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
js DOM 元素ID就是全局变量
2012/09/20 Javascript
javascript测试题练习代码
2012/10/10 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
2015/11/18 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
jquery仿苹果的时间/日期选择效果
2017/03/08 Javascript
Vue2.x中的Render函数详解
2017/05/30 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
javascript+css3开发打气球小游戏完整代码
2017/11/28 Javascript
jquery层次选择器的介绍
2019/01/18 jQuery
vue中利用simplemde实现markdown编辑器(增加图片上传功能)
2019/04/29 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
python 实现归并排序算法
2012/06/05 Python
Python中字典和JSON互转操作实例
2015/01/19 Python
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
有关Python的22个编程技巧
2018/08/29 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
Internal修饰符有什么含义
2013/07/10 面试题
保护环境的建议书
2014/03/12 职场文书
岗位说明书怎么写
2014/07/30 职场文书
2015年依法治校工作总结
2015/07/27 职场文书
python b站视频下载的五种版本
2021/05/27 Python