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

这篇文章主要介绍了PHP中对各种加密算法、Hash算法的速度测试对比代码,对选择一个加密算法的同学可以作为一个性能考虑因素,需要的朋友可以参考下

PHP 的Hash算法是比较常用的,现在的MD5有时候不太安全,就得用到Hash_algos()中的其它算法,下面进行了一个性能的比较。

php代码:

define('testtime', 50000);

$algos= hash_algos();

foreach($algosas$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

)


原文:http://www.jb51.net/article/51971.htm

你可能感兴趣的:(PHP中对各种加密算法、Hash算法的速度测试对比代码)