summaryrefslogtreecommitdiff
path: root/ext/mhash/tests/003.phpt
blob: e5995f2a0266fef0aaa926068a2610fa21550951 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
--TEST--
mhash_keygen_s2k() test
--SKIPIF--
<?php
	include "skip.inc";
?>
--FILE--
<?php

$supported_hash_al = array(
"MHASH_MD5"       => "\x15N24zPF\x06栔\x0CTyzcght^W\x09-sA7Y:\x10wݲxdqS^҃&U,: aǙz\x06\x1CS\x01",
"MHASH_SHA1"      => "1\\p\x06\x1D\x07E]S\x0B\x08\x0Caf\\\x1A\x01\x10T#\$2\x06xc\x0A=\x16\"IJ\x0E'NΚԽn\x08J3\x15<+H\x13\x1D0[\x00[Y\x12qء\x19KmI",
"MHASH_HAVAL256"  => "G\x00NPw\x0CH6Wل+,\x1C\x0DgdZU\x07)oAi[NadT\x17\x1F2ZU46}IYb,C\x17\x1Au{[x",
"MHASH_HAVAL224"  => "\\J=Z\x08\x08y8ha\x0Apg|yܫq\x19\x1E\x06)
˼lnjG\x0CB@kwºQv52OP-05\x00L	m`G-2I",
"MHASH_HAVAL192"  => "\"q&\x02<.A\x07/\x1E2d\x17\x1C2Xv\x0Bpű%\x03\x16(C;+\x08pz8\x12\x15\x13N\x08udd)qهv_MINxLtLJ",
"MHASH_HAVAL160"  => "\x07dn6GXm\x06\x1E\x00η#5M\"mi\x1D1\$\x0E|X<O)Y;=ʰy.`\"`\x02ٴB	ԯҵk>G\x19\x17~\x0D~",
"MHASH_RIPEMD160" => "Fx\x0D5\x02\x0a\x1D[\x19gDXgwܡD&bjB7]G[\x14G`^\x1B\x08K\x11\x173C-AB%\x04K\x03??K",
"MHASH_GOST"      => "Di~C=wƂ\x17B\x15}sM\x01d|\x014hY\"\x0AI*b@фxc@sިyN%d\x09FD\x0a\x12\x12P\x0F}E~:pO\x0DpwR{\x19M",
"MHASH_TIGER"     => "g{\nG&/3d#7`2UBQ/y)X#k'hn/Ep*M1 VKyO`	M6|\"",
"MHASH_CRC32"     => "H@&_YoQ1[Fq\"\x08fV8\x08EE<M:Ⱥrk*Hu/}h3iWJ?vu
i=W\"",
"MHASH_CRC32B"    => "le>}*]Fכ6\x13bCˏ.	I\x0FjΥ0\x0D\x1F<.Qy疾tixb\$}\x0Bȴ	ϬȌDDK\x131uL6`ɏ|Ec\x04",
);

foreach ($supported_hash_al as $hash=>$wanted) {
	$passwd = str_repeat($hash, 10);
	$salt = str_repeat($hash, 2);
	$result = mhash_keygen_s2k(constant($hash), $passwd, $salt, 100);
	if (!strcmp($result, $wanted)) {
		echo "$hash\nok\n";
	} else {
		echo "$hash: ";
		var_dump(bin2hex($wanted));
		echo "$hash: ";
		var_dump(bin2hex($result));
	}
	echo "\n";
}
?>
--EXPECT--
MHASH_MD5
ok

MHASH_SHA1
ok

MHASH_HAVAL256
ok

MHASH_HAVAL224
ok

MHASH_HAVAL192
ok

MHASH_HAVAL160
ok

MHASH_RIPEMD160
ok

MHASH_GOST
ok

MHASH_TIGER
ok

MHASH_CRC32
ok

MHASH_CRC32B
ok