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 相关文章推荐
通过ODBC连接的SQL SERVER实例
Oct 09 PHP
PHP数据缓存技术
Feb 14 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
Apr 12 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
PHP调用Webservice实例代码
Jul 29 PHP
PHP include任意文件或URL介绍
Apr 29 PHP
Yii中CGridView关联表搜索排序方法实例详解
Dec 03 PHP
php实现无限级分类
Dec 24 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
PHP简单实现欧拉函数Euler功能示例
Nov 06 PHP
详解PHP文件的自动加载(autoloading)
Feb 04 PHP
laravel 自定义常量的两种方案
Oct 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
php中的时间处理
2006/10/09 PHP
php 全局变量范围分析
2009/08/07 PHP
PHP array 的加法操作代码
2010/07/24 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
2013/11/12 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
js计数器代码
2006/11/04 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
javascript实现表单提交后,提交按钮不可用的方法
2015/04/18 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
2017/02/21 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
详解vue更改头像功能实现
2019/04/28 Javascript
[07:38]2014DOTA2国际邀请赛 Newbee顺利挺进胜者组赛后专访
2014/07/15 DOTA
[01:08]DOTA2次级职业联赛 - Shield战队宣传片
2014/12/01 DOTA
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
详细介绍Python中的偏函数
2015/04/27 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
python按比例随机切分数据的实现
2019/07/11 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
毕业生求职简历中的自我评价
2013/10/18 职场文书
锦旗标语大全
2014/06/23 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
企业工会工作总结2015
2015/05/13 职场文书
个人收入证明范本
2015/06/12 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
PhpSpreadsheet中文文档 | Spreadsheet操作教程实例
2021/04/01 PHP
python文件名批量重命名脚本实例代码
2021/04/22 Python
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
2022/12/24 MySQL