Created
December 3, 2018 13:10
-
-
Save xtrasmal/f747bbd6df1a0b581a9a69c0e2570166 to your computer and use it in GitHub Desktop.
php hash functions metrics results(see comment at: http://php.net/manual/en/function.hash.php)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
echo "Building data..."; | |
$data = ""; | |
for($i = 0; $i < 1500; $i++) | |
$data .= sha1("H:k - $i - k:H"); | |
echo "OK! (".strlen($data)." bytes)".PHP_EOL; | |
$res = []; | |
echo "Testing hashes.....".PHP_EOL; | |
foreach (hash_algos() as $algo) { | |
$time = microtime(1); | |
$hash = hash($algo, $data); | |
$time = (microtime(1) - $time) * 1000; | |
$length = strlen($hash); | |
$res["$time"][] = [ | |
"algo" => "HEX-$algo", | |
"length" => "$length", | |
"time" => sprintf("%.8f", $time) | |
]; | |
$time = microtime(1); | |
hash($algo, $data, 1); | |
$time = (microtime(1) - $time) * 1000; | |
$res["$time"][] = [ | |
"algo" => "RAW-$algo", | |
"length" => "$length", | |
"time" => sprintf("%.8f", $time) | |
]; | |
} | |
ksort($res); | |
$i = 0; | |
echo "Results:".PHP_EOL; | |
echo "Posit. Time in ms Type-Hash algo Hash length".PHP_EOL; | |
foreach($res as $sres){ | |
foreach($sres as $result){ | |
echo sprintf("%5d. %12s ms %-20s %-2d bytes", $i++, $result['time'], $result['algo'], $result['length']).PHP_EOL; | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Building data...OK! (60000 bytes) | |
Testing hashes..... | |
Results: | |
Posit. Time in ms Type-Hash algo Hash length | |
0. 0.03910065 ms RAW-adler32 8 bytes | |
1. 0.04005432 ms HEX-adler32 8 bytes | |
2. 0.07081032 ms HEX-fnv132 8 bytes | |
3. 0.07081032 ms RAW-fnv1a32 8 bytes | |
4. 0.07200241 ms RAW-fnv132 8 bytes | |
5. 0.07200241 ms HEX-fnv1a32 8 bytes | |
6. 0.10085106 ms RAW-md4 32 bytes | |
7. 0.10299683 ms HEX-md4 32 bytes | |
8. 0.12111664 ms HEX-joaat 8 bytes | |
9. 0.12111664 ms RAW-joaat 8 bytes | |
10. 0.13899803 ms HEX-md5 32 bytes | |
11. 0.13899803 ms RAW-md5 32 bytes | |
12. 0.17905235 ms HEX-sha1 40 bytes | |
13. 0.21409988 ms RAW-tiger128,3 32 bytes | |
14. 0.21696091 ms RAW-sha1 40 bytes | |
15. 0.23317337 ms HEX-tiger160,3 40 bytes | |
16. 0.24890900 ms RAW-crc32b 8 bytes | |
17. 0.24986267 ms HEX-crc32b 8 bytes | |
18. 0.25296211 ms HEX-tiger128,3 32 bytes | |
19. 0.25296211 ms RAW-tiger160,3 40 bytes | |
20. 0.25296211 ms RAW-tiger192,3 48 bytes | |
21. 0.25391579 ms HEX-crc32 8 bytes | |
22. 0.25391579 ms RAW-crc32 8 bytes | |
23. 0.26512146 ms HEX-tiger192,3 48 bytes | |
24. 0.26702881 ms RAW-haval128,3 32 bytes | |
25. 0.26702881 ms HEX-haval192,3 48 bytes | |
26. 0.26702881 ms HEX-haval256,3 64 bytes | |
27. 0.26798248 ms RAW-haval160,3 40 bytes | |
28. 0.26798248 ms RAW-haval192,3 48 bytes | |
29. 0.26798248 ms HEX-haval224,3 56 bytes | |
30. 0.26798248 ms RAW-haval224,3 56 bytes | |
31. 0.26822090 ms RAW-haval256,3 64 bytes | |
32. 0.26893616 ms HEX-haval160,3 40 bytes | |
33. 0.26917458 ms HEX-haval128,3 32 bytes | |
34. 0.28586388 ms RAW-fnv164 16 bytes | |
35. 0.28896332 ms HEX-fnv1a64 16 bytes | |
36. 0.29397011 ms RAW-ripemd128 32 bytes | |
37. 0.29397011 ms HEX-fnv164 16 bytes | |
38. 0.30016899 ms RAW-ripemd256 64 bytes | |
39. 0.30612946 ms RAW-tiger160,4 40 bytes | |
40. 0.30684471 ms RAW-tiger192,4 48 bytes | |
41. 0.31495094 ms HEX-ripemd128 32 bytes | |
42. 0.31805038 ms HEX-tiger160,4 40 bytes | |
43. 0.32114983 ms HEX-tiger192,4 48 bytes | |
44. 0.32496452 ms HEX-ripemd256 64 bytes | |
45. 0.32615662 ms RAW-fnv1a64 16 bytes | |
46. 0.35285950 ms RAW-tiger128,4 32 bytes | |
47. 0.40698051 ms HEX-tiger128,4 32 bytes | |
48. 0.41508675 ms HEX-ripemd160 40 bytes | |
49. 0.43010712 ms RAW-ripemd160 40 bytes | |
50. 0.43797493 ms HEX-haval256,4 64 bytes | |
51. 0.44488907 ms RAW-ripemd320 80 bytes | |
52. 0.44798851 ms HEX-haval192,4 48 bytes | |
53. 0.45013428 ms HEX-haval160,4 40 bytes | |
54. 0.45108795 ms HEX-haval128,4 32 bytes | |
55. 0.45108795 ms RAW-haval128,4 32 bytes | |
56. 0.45108795 ms RAW-haval160,4 40 bytes | |
57. 0.45180321 ms RAW-haval192,4 48 bytes | |
58. 0.45204163 ms HEX-haval224,4 56 bytes | |
59. 0.45895576 ms RAW-sha256 64 bytes | |
60. 0.46491623 ms HEX-sha256 64 bytes | |
61. 0.46706200 ms HEX-ripemd320 80 bytes | |
62. 0.47206879 ms RAW-haval224,4 56 bytes | |
63. 0.47612190 ms RAW-sha224 56 bytes | |
64. 0.48995018 ms RAW-haval256,4 64 bytes | |
65. 0.54979324 ms HEX-haval256,5 64 bytes | |
66. 0.55098534 ms HEX-haval192,5 48 bytes | |
67. 0.55098534 ms RAW-haval192,5 48 bytes | |
68. 0.55098534 ms RAW-haval224,5 56 bytes | |
69. 0.55098534 ms RAW-haval256,5 64 bytes | |
70. 0.55217743 ms HEX-haval224,5 56 bytes | |
71. 0.55599213 ms HEX-sha224 56 bytes | |
72. 0.57506561 ms RAW-haval128,5 32 bytes | |
73. 0.63204765 ms RAW-haval160,5 40 bytes | |
74. 0.67496300 ms HEX-haval160,5 40 bytes | |
75. 0.71191788 ms HEX-haval128,5 32 bytes | |
76. 0.76794624 ms HEX-sha512 128 bytes | |
77. 0.78988075 ms RAW-sha512/256 64 bytes | |
78. 0.79011917 ms HEX-sha512/224 56 bytes | |
79. 0.79202652 ms RAW-sha384 96 bytes | |
80. 0.79202652 ms HEX-sha512/256 64 bytes | |
81. 0.79298019 ms HEX-sha384 96 bytes | |
82. 0.79321861 ms RAW-sha512/224 56 bytes | |
83. 0.80108643 ms RAW-sha512 128 bytes | |
84. 1.27696991 ms RAW-whirlpool 128 bytes | |
85. 1.31297112 ms HEX-whirlpool 128 bytes | |
86. 1.45196915 ms RAW-gost-crypto 64 bytes | |
87. 1.46794319 ms HEX-gost-crypto 64 bytes | |
88. 1.47008896 ms RAW-gost 64 bytes | |
89. 1.53398514 ms HEX-gost 64 bytes | |
90. 3.60107422 ms HEX-snefru256 64 bytes | |
91. 3.62896919 ms RAW-snefru 64 bytes | |
92. 3.65900993 ms RAW-snefru256 64 bytes | |
93. 3.71098518 ms HEX-snefru 64 bytes | |
94. 6.31499290 ms RAW-sha3-224 56 bytes | |
95. 6.44183159 ms HEX-sha3-224 56 bytes | |
96. 6.46901131 ms RAW-sha3-256 64 bytes | |
97. 6.48403168 ms HEX-sha3-256 64 bytes | |
98. 7.85994530 ms RAW-md2 32 bytes | |
99. 8.05807114 ms HEX-md2 32 bytes | |
100. 8.41379166 ms HEX-sha3-384 96 bytes | |
101. 8.57901573 ms RAW-sha3-384 96 bytes | |
102. 11.99913025 ms HEX-sha3-512 128 bytes | |
103. 12.29000092 ms RAW-sha3-512 128 bytes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
it's an indication ofcourse.