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来写记数器(详细介绍)
Oct 09 PHP
PHP常用代码
Nov 23 PHP
PHP Memcached应用实现代码
Feb 08 PHP
php5.3 废弃函数小结
May 16 PHP
PHP中的session永不过期的解决思路及实现方法分享
Apr 20 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
php图片加中文水印实现代码分享
Oct 31 PHP
thinkphp autoload 命名空间自定义 namespace
Jul 17 PHP
如何正确配置Nginx + PHP
Jul 15 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
php使用 readfile() 函数设置文件大小大小的方法
Aug 11 PHP
解决laravel5.4下的group by报错的问题
Oct 16 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
星际原理概述
2020/03/04 星际争霸
PHP用户指南-cookies部分
2006/10/09 PHP
php循环输出数据库内容的代码
2008/05/24 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
javascript 动态添加表格行
2006/06/22 Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
2010/07/20 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
jQuery计算文本框字数及限制文本框字数的方法
2016/03/01 Javascript
js获取新浪天气接口的实现代码
2016/06/06 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
AngularJS实现页面定时刷新
2017/03/14 Javascript
iview同时验证多个表单问题总结
2018/09/29 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
2018/11/02 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
vue缓存之keep-alive的理解和应用详解
2020/11/02 Javascript
跟老齐学Python之Python文档
2014/10/10 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
python 进程的几种创建方式详解
2019/08/29 Python
Python上下文管理器全实例详解
2019/11/12 Python
python super用法及原理详解
2020/01/20 Python
利用python对mysql表做全局模糊搜索并分页实例
2020/07/12 Python
喜诗官方在线巧克力店:See’s Candies
2017/01/01 全球购物
美国一家运动专业鞋类零售商:Warehouse Shoe Sale(WSS)
2018/03/28 全球购物
日常奢侈品,轻松购物:Verishop
2019/08/20 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
保险公司晨会主持词
2014/03/22 职场文书
大学生求职信怎么写
2015/03/19 职场文书
致运动员赞词
2015/07/22 职场文书
2016领导干部廉洁自律心得体会
2016/01/13 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python
基于Redis的List实现特价商品列表功能
2021/08/30 Redis