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 如何向 MySQL 发送数据
Oct 09 PHP
php中看实例学正则表达式
Dec 25 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
php开发过程中关于继承的使用方法分享
Jun 17 PHP
PHP遍历数组的几种方法
Mar 22 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
PHP中TP5 上传文件的实例详解
Jul 31 PHP
PHP守护进程化在C和PHP环境下的实现
Nov 21 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
Jun 12 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 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 screw加密php源代码
2013/06/20 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
PHP简单日历实现方法
2016/07/20 PHP
php 算法之实现相对路径的实例
2017/10/17 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
Exjs 入门篇
2010/04/07 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
Python获取apk文件URL地址实例
2013/11/01 Python
Python中使用SAX解析xml实例
2014/11/21 Python
详解Swift中属性的声明与作用
2016/06/30 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
python标识符命名规范原理解析
2020/01/10 Python
Python中操作各种多媒体,视频、音频到图片的代码详解
2020/06/04 Python
python使用opencv resize图像不进行插值的操作
2020/07/05 Python
英国健康和美容技术产品购物网站:CurrentBody
2019/07/17 全球购物
企业总经理岗位职责
2014/02/13 职场文书
社会学专业求职信
2014/02/24 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
产品质量承诺范本
2014/03/31 职场文书
开工仪式策划方案
2014/05/23 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
党的群众路线教育实践活动宣传标语口号
2014/06/06 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
2014年党小组工作总结
2014/12/20 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python