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下使用SMTP发邮件的代码
Jan 10 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
深入apache host的配置详解
Jun 09 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
Mar 10 PHP
PHP单例模式数据库连接类与页面静态化实现方法
Mar 20 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
YII框架行为behaviors用法示例
Apr 26 PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 PHP
PHP实现简单注册登录系统
Dec 28 PHP
php远程请求CURL案例(爬虫、保存登录状态)
Apr 01 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获取当前网址及域名的实现代码
2013/06/23 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
php中使用PHPExcel读写excel(xls)文件的方法
2014/09/15 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
js getElementsByTagName的简写方式
2010/06/27 Javascript
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
如何利用模板将HTML从JavaScript中抽离
2016/10/08 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
vue 双向数据绑定的实现学习之监听器的实现方法
2018/11/30 Javascript
JS html事件冒泡和事件捕获操作示例
2019/05/01 Javascript
vue spa应用中的路由缓存问题与解决方案
2019/05/31 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
python 多线程应用介绍
2012/12/19 Python
Python3多线程基础知识点
2019/02/19 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
使用django自带的user做外键的方法
2020/11/30 Python
python中的unittest框架实例详解
2021/02/05 Python
美国农场鲜花速递:The Bouqs
2018/07/13 全球购物
控制工程专业个人求职信
2013/09/25 职场文书
文明寝室标语
2014/06/13 职场文书
优秀少先队辅导员事迹材料
2014/12/24 职场文书
北京导游词
2015/02/12 职场文书
升职自我推荐信范文
2015/03/25 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
js 数组 fill() 填充方法
2021/11/02 Javascript
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript