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数组交集的优化代码分析
Mar 06 PHP
php 文件上传类代码
Aug 06 PHP
解析php中获取系统信息的方法
Jun 25 PHP
php 地区分类排序算法
Jul 01 PHP
php操作xml
Oct 27 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
PHP 常用的header头部定义汇总
Jun 19 PHP
smarty中常用方法实例总结
Aug 07 PHP
php中strlen和mb_strlen用法实例分析
Nov 12 PHP
PHP实现权限管理功能示例
Sep 22 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 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网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
php实用代码片段整理
2016/11/12 PHP
PHP哈希表实现算法原理解析
2020/12/11 PHP
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
chrome原生方法之数组
2011/11/30 Javascript
js实现点小图看大图效果的思路及示例代码
2013/10/28 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
Bootstrap插件全集
2016/07/18 Javascript
原生js实现jquery函数animate()动画效果的简单实例
2016/08/21 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
如何实现iframe父子传参通信
2020/02/05 Javascript
用Python遍历C盘dll文件的方法
2015/05/06 Python
python直接访问私有属性的简单方法
2016/07/25 Python
Python时间和字符串转换操作实例分析
2019/03/16 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
Django中间件基础用法详解
2019/07/18 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
详解python程序中的多任务
2020/09/16 Python
html5 Canvas画图教程(1)—画图的基本常识
2013/01/09 HTML / CSS
美国保健品专家:Life Extension
2018/05/04 全球购物
环保证明
2015/06/23 职场文书
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL
python flappy bird小游戏分步实现流程
2022/02/15 Python