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 excel类 phpExcel使用方法介绍
Aug 21 PHP
PHP下对字符串的递增运算代码
Aug 21 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
PHP 获取文件权限函数介绍
Jul 11 PHP
php事务处理实例详解
Jul 11 PHP
php实现生成验证码实例分享
Apr 10 PHP
php构造函数与析构函数
Apr 23 PHP
php实现批量修改文件名称的方法
Jul 23 PHP
PHP中file_put_contents追加和换行的实现方法
Apr 01 PHP
thinkPHP微信分享接口JSSDK用法实例
Jul 07 PHP
PHP钩子与简单分发方式实例分析
Sep 04 PHP
PHP回调函数简单用法示例
May 08 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/11/25 PHP
PHP中,文件上传
2006/12/06 PHP
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP学习笔记之一
2011/01/17 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
微信小程序 rpx 尺寸单位详细介绍
2016/10/13 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
bootstrap table实例详解
2017/01/06 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
2017/10/31 Javascript
vue-image-crop基于Vue的移动端图片裁剪组件示例
2018/08/28 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
原生JS实现九宫格抽奖
2020/09/13 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
[02:47]DOTA2亚洲邀请赛 HR战队出场宣传片
2015/02/07 DOTA
Python实现类继承实例
2014/07/04 Python
python 将md5转为16字节的方法
2018/05/29 Python
对Python 3.5拼接列表的新语法详解
2018/11/08 Python
对Pandas MultiIndex(多重索引)详解
2018/11/16 Python
用xpath获取指定标签下的所有text的实例
2019/01/02 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
Django User 模块之 AbstractUser 扩展详解
2020/03/11 Python
python plt可视化——打印特殊符号和制作图例代码
2020/04/17 Python
python利用platform模块获取系统信息
2020/10/09 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
基层干部2014全国两会学习心得体会
2014/03/10 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
使用Python解决图表与画布的间距问题
2022/04/11 Python