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)