Created
December 3, 2018 13:10
-
-
Save xtrasmal/f747bbd6df1a0b581a9a69c0e2570166 to your computer and use it in GitHub Desktop.
Revisions
-
Xander Smalbil created this gist
Dec 3, 2018 .There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,46 @@ <?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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,108 @@ 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