Самый быстрый хеш
Самый быстрый хеш не криптографический!
algoritm | time | hash |
---|---|---|
adler32 | 0.0412 | f9881ed0 |
fnv132 | 0.0414 | 5d65a77e |
fnv1a32 | 0.0461 | 903182c8 |
fnv164 | 0.0468 | 3573306254f02a9e |
fnv1a64 | 0.0502 | f10ac4dea1b86dc8 |
joaat | 0.0513 | 80b948c4 |
md4 | 0.0589 | d4615fe1ffcc86dee0b43ecdbeb07317 |
md5 | 0.0602 | 12677062b5719e42f3d8b6b8943fc580 |
crc32b | 0.0672 | 62761bbd |
crc32 | 0.0701 | ec007b9c |
tiger128,3 | 0.0716 | cbc16eecf91b46d9159b09203cc24f05 |
tiger160,3 | 0.0723 | cbc16eecf91b46d9159b09203cc24f05242d27b8 |
tiger192,3 | 0.0754 | cbc16eecf91b46d9159b09203cc24f05242d27b8dd9b985b |
sha1 | 0.0843 | 7d9f49fcc5eede01c82b1fef5e6057c0d372c01d |
tiger128,4 | 0.0847 | 3d92e4df3275ccd3673355f9a8475fb5 |
tiger192,4 | 0.0908 | 3d92e4df3275ccd3673355f9a8475fb557ad0fa95ae1a195 |
sha384 | 0.1150 | f492ea800a0f3a8247b6068302428785d3ee27d2d8c86ddc09eedc62380efbf9a51d480687eab2d589a89c574c6da41d |
sha512 | 0.1165 | cf35c00b173ba8146a58a2dc8c9120d52b0ada1551a572609a81250947207951f3134d47fee51ac9c28fe9f014eed6a026fda3b0a6ab2f312588783b765db416 |
sha3-256 | 0.1176 | 89dd0c61e4ff1e4411cebea17813c6693c934b31b5e66df11226802bea99af49 |
sha3-224 | 0.1177 | f2ee08a9416f98b9687c0a9a416da6d12ce29c958f06180ae9ffd944 |
ripemd128 | 0.1199 | df100c460051431d3409718cfdb6c0f6 |
tiger160,4 | 0.1214 | 3d92e4df3275ccd3673355f9a8475fb557ad0fa9 |
sha3-384 | 0.1229 | c5e4d6851f024ef3034f9ff0292213c148e92f39458afc8e6807dadaf88c000762be1a689f425314dec2c91eaec264c4 |
sha512/256 | 0.1236 | 804a0d845673a788a332c49e36c7db333e107c3c386f6601aa1a0d4ff0fc0507 |
haval192,3 | 0.1240 | e09371db5fc81c946bf4814e97942033d532aed5fd9e4aae |
haval224,3 | 0.1248 | 69371bb26cf851f17e7cd0cc214c003326b5fa60a05e854aedd08b99 |
ripemd256 | 0.1271 | fb7889b37d7baa360967643e6d9b9dc8a1509ee4a52905dd167ed917f3448789 |
haval256,3 | 0.1279 | 08ff42e2e71118c97b1beff2f1f1612e041a4047ac115a2a60a28393ee1fe6a1 |
sha256 | 0.1458 | 13f863643ca3a39b4de894846b6a21e3fef6bf5e8a3a38fbbebdabc446179f7e |
sha512/224 | 0.1484 | 8c0f80f045a1bba1b8436016444e9dba69fc111c8f75311377e2d4c6 |
sha224 | 0.1493 | 644f2adb31487172f73fc732e9d044c112d0e9563526f61a0ce3a7e8 |
haval128,4 | 0.1507 | 0a8a5596439843224a6c610b8809cf55 |
haval128,3 | 0.1524 | 5f89103c090e75a64bf3d0bf61637de2 |
haval256,4 | 0.1545 | 66f52cd6f8bfd738b4ab9a980484e7102bda3b14048e72dcbed26e799f225a5f |
haval192,4 | 0.1574 | 2cfb5796b8c492d20765b21e8113ca07f5f568e19c6abb5d |
ripemd320 | 0.1597 | aad51d20f2efa59998dc1d59e5dad19ac0007bf5a41a43b2ff31e5c43b206bfc7899ae75dc3dd80a |
haval160,4 | 0.1603 | 294958164b16974ac22cecdb80ec552d769b61ba |
haval160,5 | 0.1774 | 34cfea7edaed10f776cf254caf4f3464516dc4b8 |
haval128,5 | 0.1783 | 5fce8070d97db9d0c638d1f4af52cae2 |
haval192,5 | 0.1805 | f2a03ddd5bfa18642563f6d011c7c76b91c798a947c8ef59 |
haval224,5 | 0.1822 | 3a8668932c23adc2550ac0a9d7716c176104965749ecd7cadf1e930c |
ripemd160 | 0.1926 | 7114cce04fbd8744987958366f4689760cda95bf |
haval224,4 | 0.1940 | f106c9f29b34def1150142cb478b78ffe46e08bd204eaf1da80419a7 |
haval256,5 | 0.2093 | 6d8b354c6213e96508101cdbc4c86dd416cfca10059b387b39a83915c3fd0989 |
sha3-512 | 0.2173 | 3955105edcb0e3dd6df9cba478700b824d2cafb03b163e29cea009776499f4ae26b4e091e39a6f51b83277dcf26a1e0e6603b413e76ccccc7dee61b564c24952 |
whirlpool | 0.3188 | f215b1934be66e54a6463a1fd7b7902af97aa992dd1cbbba121e0565cad686b8a63c56b688b5fe2eaab167026bb2f077907be97298bf6ba9ea0897a5164f399c |
gost-crypto | 0.4863 | fce33b12b03177a80beb547f6d0dbe81cd750f77fee0ef1c1fd8b063228d9ae0 |
gost | 0.5908 | 289ac585fb97dbf4cd08ba619d9adc0f82a22380fd28d22cd51f428c6def3375 |
snefru | 0.7216 | 09baf5867a7a4fbc5b971b7e6b66b761010c78192dbef1362a613736fb66eea0 |
snefru256 | 0.7754 | 09baf5867a7a4fbc5b971b7e6b66b761010c78192dbef1362a613736fb66eea0 |
md2 | 2.6109 | 0328d6d2c7b3cd150206ac3f55701844 |
Первый три алгоритма идут adler32, fnv132, fnv1a32 - 8 разрядный хеш. Каждый раз при запуске кода они меняются местами разница по времени между ними незначительная.
Далее идет fnv164 и fnv1a64 16-ти разрядный хеш, советуют брать 16-ти разрядный хеш, чтобы избежать коллизий (совпадений). Разница между 8-ми и 16-ти разрядным незначительная +13% так что берем fnv164 или fnv1a64. А вот в чем жду ними разница я не нашел объяснения.
Вот php код для испытания:
<?php
$algs = hash_algos();
$loop = 100000;
$pr = 0;
foreach ($algs as $alg) {
$start = microtime(1);
for ($i = 0 ; $i <= $loop; $i++) {
$hash = hash ($alg, $str);
}
if($time){
$pre_time = $time;
}
$time = number_format(microtime(1) - $start, 4);
$res["$time"] = [$alg, $time, $hash];
}
ksort($res);
echo "<div style=\"overflow:scroll; width:100%\">\r\n<table border=1>\r\n";
echo "<tr><th>algoritm</th><th>time</th><th>hash</th></tr>\r\n";
foreach ($res as $tr) {
list($alg, $time, $hash) = $tr;
echo "<tr><td><b>$alg</b></td><td>$time</td><td>$hash</td></tr>\r\n";
}
echo "</table>\r\n</div>";