mhash_002.phpt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. MHash: mhash_get_block_size() & mhash_get_hash_name() test
  3. --SKIPIF--
  4. <?php if(!function_exists('mhash')) { die('skip mhash compatibility layer not available'); } ?>
  5. --INI--
  6. error_reporting=E_ALL&~E_DEPRECATED
  7. --FILE--
  8. <?php
  9. $supported_hash_al = array(
  10. "MD5" => 16,
  11. "MD4" => 16,
  12. "SHA1" => 20,
  13. "SHA256" => 32,
  14. "HAVAL256" => 32,
  15. "HAVAL192" => 24,
  16. "HAVAL224" => 28,
  17. "HAVAL160" => 20,
  18. "HAVAL128" => 16,
  19. "RIPEMD160" => 20,
  20. "GOST" => 32,
  21. "TIGER" => 24,
  22. "TIGER160" => 20,
  23. "TIGER128" => 16,
  24. "CRC32" => 4,
  25. "CRC32B" => 4,
  26. "ADLER32" => 4,
  27. "NA_XYZ" => 0 /* verify that the algorithm works */
  28. );
  29. $hc = mhash_count() + 1;
  30. $known_hash_al = array();
  31. for ($i=0; $i < $hc; $i++) {
  32. $known_hash_al[mhash_get_hash_name($i)] = $i;
  33. }
  34. foreach ($supported_hash_al as $name => $len) {
  35. if (array_key_exists($name, $known_hash_al)) {
  36. $len = mhash_get_block_size($known_hash_al[$name]);
  37. echo "$name = $len\n";
  38. } else {
  39. echo "$name ? $len\n";
  40. }
  41. }
  42. ?>
  43. --EXPECTREGEX--
  44. MD5 . 16
  45. MD4 . 16
  46. SHA1 . 20
  47. SHA256 . 32
  48. HAVAL256 . 32
  49. HAVAL192 . 24
  50. HAVAL224 . 28
  51. HAVAL160 . 20
  52. HAVAL128 . 16
  53. RIPEMD160 . 20
  54. GOST . 32
  55. TIGER . 24
  56. TIGER160 . 20
  57. TIGER128 . 16
  58. CRC32 . 4
  59. CRC32B . 4
  60. ADLER32 . 4
  61. NA_XYZ . 0