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
)
您可能感兴趣的文章:Nginx 安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)PHP开发负载均衡指南PHP实现负载均衡下的session共用功能PHP实现负载均衡session共享redis缓存操作示例Thinkphp结合AJAX长轮询实现PC与APP推送详解PHP经典算法集锦【经典收藏】php 分库分表hash算法php的hash算法介绍PHP实现的一致性Hash算法详解【分布式算法】PHP实现负载均衡的加权轮询方法分析