--TEST--
mhash() test
+--INI--
+magic_quotes_runtime=0
--SKIPIF--
<?php
include "skip.inc";
<?php
$supported_hash_al = array(
-"MHASH_MD5",
-"MHASH_SHA1",
-"MHASH_HAVAL256",
-"MHASH_HAVAL192",
-"MHASH_HAVAL224",
-"MHASH_HAVAL160",
-"MHASH_RIPEMD160",
-"MHASH_GOST",
-"MHASH_TIGER",
-"MHASH_CRC32",
-"MHASH_CRC32B"
+"MHASH_MD5" => "-\9bÛ\91ùN\96ÙÄâ®S*Ì\93j",
+"MHASH_SHA1" => "/\93AåZ\90\83íõI{ø;£Û\81*}à£",
+"MHASH_HAVAL256" => "²Uþÿ\ 1d\e'5\8dÇ\90\9bÆ\95¡ü¥;Ýýúñ\90 ²u\92\87\93¯",
+"MHASH_HAVAL192" => "Lè7ÞH\1e\1e0 *²Æ\10\ 5p\94É\88ß×Û\1e\ 1Í",
+"MHASH_HAVAL224" => "SbÑ\85gR¿,\13\9b²Öý×r¹Å\15ÈÎ^È&\95&K\85á",
+"MHASH_HAVAL160" => "Ƴo\87u\v\18Wi\81¼\17´ò\"q\94{ùË",
+"MHASH_RIPEMD160" => "lGCZ¡ÓYķƯF4\9f\x0C>\12XX=",
+"MHASH_GOST" => "\10\e\x0A%Rνõ\13|ñQGò\1eU¶C)5»\9c,\ 3Çâ\8d\18\8b-\9e",
+"MHASH_TIGER" => "\95:Ãy\9a\x01¹ýë\91®«\97 ~g9\\»T0\và\x0D",
+"MHASH_CRC32" => "\83\ 4\1d¸",
+"MHASH_CRC32B" => "¤·Zß"
);
- $data = "This is the test of the mhash extension...";
+$data = "This is the test of the mhash extension...";
- foreach ($supported_hash_al as $hash) {
- echo $hash . "\n";
- var_dump(mhash(constant($hash), $data));
- echo "\n";
+foreach ($supported_hash_al as $hash=>$wanted) {
+ $result = mhash(constant($hash), $data);
+ if ($result==$wanted) {
+ echo "$hash\nok\n";
+ } else {
+ echo "$hash: ";
+ var_dump($wanted);
+ echo "$hash: ";
+ var_dump($result);
}
+ echo "\n";
+}
?>
--EXPECT--
MHASH_MD5
-string(16) "-\9bÛ\91ùN\96ÙÄâ®S*Ì\93j"
+ok
MHASH_SHA1
-string(20) "/\93AåZ\90\83íõI{ø;£Û\81*}à£"
+ok
MHASH_HAVAL256
-string(32) "²Uþÿ\ 1d\e'5\8dÇ\90\9bÆ\95¡ü¥;Ýýúñ\90 ²u\92\87\93¯"
+ok
MHASH_HAVAL192
-string(24) "Lè7ÞH\1e\1e0 *²Æ\10\ 5p\94É\88ß×Û\1e\ 1Í"
+ok
MHASH_HAVAL224
-string(28) "SbÑ\85gR¿,\13\9b²Öý×r¹Å\15ÈÎ^È&\95&K\85á"
+ok
MHASH_HAVAL160
-string(20) "Ƴo\87u\v\18Wi\81¼\17´ò"q\94{ùË"
+ok
MHASH_RIPEMD160
-string(20) "lGCZ¡ÓYķƯF4\9f\f>\12XX="
+ok
MHASH_GOST
-string(32) "\10\e
-%Rνõ\13|ñQGò\1eU¶C)5»\9c,\ 3Çâ\8d\18\8b-\9e"
+ok
MHASH_TIGER
-string(24) "\95:Ãy\9a\ 1¹ýë\91®«\97 ~g9\»T0\và
-"
+ok
MHASH_CRC32
-string(4) "\83\ 4\1d¸"
+ok
MHASH_CRC32B
-string(4) "¤·Zß"
-
+ok
?>
--FILE--
<?php
- $hc = mhash_count() + 1;
-
- for ($i=0; $i<$hc; $i++) {
- if (($hn = mhash_get_hash_name($i))) {
- echo $hn . "\t->\t" . mhash_get_block_size($i) . "\n";
- }
- }
+$supported_hash_al = array(
+"MD5" => 16,
+"MD4" => 16,
+"SHA1" => 20,
+"SHA256" => 32,
+"HAVAL256" => 32,
+"HAVAL192" => 24,
+"HAVAL224" => 28,
+"HAVAL160" => 20,
+"HAVAL128" => 16,
+"RIPEMD160" => 20,
+"GOST" => 32,
+"TIGER" => 24,
+"TIGER160" => 20,
+"TIGER128" => 16,
+"CRC32" => 4,
+"CRC32B" => 4,
+"ADLER32" => 4,
+"NA_XYZ" => 0 /* verify that the algorythm works */
+);
+
+$hc = mhash_count() + 1;
+
+$known_hash_al = array();
+for ($i=0; $i < $hc; $i++) {
+ $known_hash_al[mhash_get_hash_name($i)] = $i;
+}
+
+foreach ($supported_hash_al as $name => $len) {
+ if (array_key_exists($name, $known_hash_al)) {
+ $len = mhash_get_block_size($known_hash_al[$name]);
+ echo "$name = $len\n";
+ } else {
+ echo "$name ? $len\n";
+ }
+}
?>
---EXPECT--
-CRC32 -> 4
-MD5 -> 16
-SHA1 -> 20
-HAVAL256 -> 32
-RIPEMD160 -> 20
-TIGER -> 24
-GOST -> 32
-CRC32B -> 4
-HAVAL224 -> 28
-HAVAL192 -> 24
-HAVAL160 -> 20
+--EXPECTREGEX--
+MD5 . 16
+MD4 . 16
+SHA1 . 20
+SHA256 . 32
+HAVAL256 . 32
+HAVAL192 . 24
+HAVAL224 . 28
+HAVAL160 . 20
+HAVAL128 . 16
+RIPEMD160 . 20
+GOST . 32
+TIGER . 24
+TIGER160 . 20
+TIGER128 . 16
+CRC32 . 4
+CRC32B . 4
+ADLER32 . 4
+NA_XYZ . 0