PHP中对各种加密算法、Hash算法的速度测试对比代码

 更新时间:2014年07月08日 08:39:03   投稿:junjie  
这篇文章主要介绍了PHP中对各种加密算法、Hash算法的速度测试对比代码,对选择一个加密算法的同学可以作为一个性能考虑因素,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

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
)

相关文章

  • Laravel 批量更新多条数据的示例

    Laravel 批量更新多条数据的示例

    本篇文章主要介绍了Laravel 批量更新多条数据的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • PHP中操作ini配置文件的方法

    PHP中操作ini配置文件的方法

    本篇文章介绍了,PHP中操作ini配置文件的方法。需要的朋友参考下
    2013-04-04
  • PHP生成带有雪花背景的验证码

    PHP生成带有雪花背景的验证码

    晚看到了chianren上的验证码效果,就考虑了一下,用PHP的GD库完成了类似功能 先成生背景,再把生成的验证码放上去
    2008-09-09
  • php json_encode与json_decode详解及实例

    php json_encode与json_decode详解及实例

    这篇文章主要介绍了php json_encode与json_decode详解及实例的相关资料,需要的朋友可以参考下
    2016-12-12
  • PHP使用Nginx实现反向代理

    PHP使用Nginx实现反向代理

    这篇文章主要为大家详细介绍了PHP使用Nginx实现反向代理的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • php获取本年、本月、本周时间戳和日期格式的实例代码

    php获取本年、本月、本周时间戳和日期格式的实例代码

    这篇文章主要介绍了php获取本年、本月、本周时间戳和日期格式,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • php使用ffmpeg向视频中添加文字字幕的实现方法

    php使用ffmpeg向视频中添加文字字幕的实现方法

    下面小编就为大家带来一篇php使用ffmpeg向视频中添加文字字幕的实现方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • CI(CodeIgniter)框架介绍

    CI(CodeIgniter)框架介绍

    CodeIgniter 是一个为用 PHP 编写网络应用程序的人员提供的工具包。它的目标是实现让你比从零开始编写代码更快速地开发项目,为此,CI 提供了一套丰富的类库来满足通常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库。CodeIgniter 可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了。
    2014-06-06
  • 使用PHP免费发送定时短信的实例

    使用PHP免费发送定时短信的实例

    本篇文章介绍了使用PHP免费发送定时短信的实例,可以定时的发送短信到手机上,有需要的朋友可以了解一下。
    2016-10-10
  • php实现在线考试系统【附源码】

    php实现在线考试系统【附源码】

    这篇文章主要介绍了php在线考试系统附源码下载,文中通过实例代码给大家介绍了开发思路,需要的朋友可以参考下
    2018-09-09

最新评论

?


http://www.vxiaotou.com