php-src/ext/mhash/tests/003.phpt

74 lines
2.3 KiB
Plaintext
Raw Normal View History

--TEST--
mhash_keygen_s2k() test
--SKIPIF--
<?php
include "skip.inc";
?>
--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
2005-10-06 20:17:11 +00:00
--FILE--
<?php
$supported_hash_al = array(
"MHASH_MD5" => b"<22><>\x15N<35><4E>2<EFBFBD><32>4z<34>P<EFBFBD><50><EFBFBD>F<EFBFBD>\x06栔\x0CTy<54>zcg<63>h<EFBFBD><68><EFBFBD>t^W\x09<30><39>-<2D><>s<EFBFBD><73><EFBFBD>A7Y<37><59>:<3A><><EFBFBD>\x10w<30>ݲx<DDB2>d<EFBFBD>q<EFBFBD>S<EFBFBD><53><EFBFBD><><D283>&U<>,<2C><><EFBFBD>: <20><61><C799>z<EFBFBD><7A>\x06\x1C<31>S<EFBFBD>\x01",
"MHASH_SHA1" => b"<22>1\\p\x06\x1D\x07E]S<><53>\x0B\x08<30>\x0Ca<43>f\\\x1A<31><41>\x01<30>\x10<31>T#\$<24><>2<EFBFBD><32><EFBFBD>\x06<30><36>xc\x0A<30>=\x16<31><36>\"IJ\x0E<30>'<27>NΚԽ<CE9A>n<EFBFBD><6E><EFBFBD>\x08J3<4A>\x15<+H\x13\x1D0<44>[\x00<30><30>[<5B><><EFBFBD><EFBFBD><EFBFBD>Y<EFBFBD>\x12q<32>ء\x19<31><39>K<EFBFBD>mI",
"MHASH_HAVAL256" => b"<0E>G\x00<30><30><EFBFBD><EFBFBD><EFBFBD>N<EFBFBD>Pw<50>\x0CH6W<36>ل<04>+<2B><><EFBFBD><EFBFBD>,<2C><><EFBFBD>\x1C\x0DgdZ<64><5A>U<EFBFBD><55>\x07)oAi<41>[Na<4E><61><EFBFBD><EFBFBD><EFBFBD>d<EFBFBD>T<EFBFBD>\x17\x1F<31><46><EFBFBD>2<EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD>U<EFBFBD>46}IYb,<2C><><EFBFBD>C<EFBFBD>\x17<31>\x1Au<41><75><EFBFBD><EFBFBD>{<7B><><EFBFBD>[x",
"MHASH_HAVAL224" => b"\\J<>=<3D>Z<EFBFBD>\x08<30>\x08<30><38><EFBFBD>y<EFBFBD>8ha <0B>\x0A<30><41><EFBFBD>p<EFBFBD><11>g|y<79><7F>ܫq<DCAB><71><EFBFBD>\x19\x1E\x06<30><36><EFBFBD>)
<EFBFBD>˼l<EFBFBD><EFBFBD>nj<EFBFBD>G\x0CB@kw<6B>º<>Q<EFBFBD><0F><>v52O<32>P<EFBFBD>-0<>5\x00L m`G-2<0E>I",
"MHASH_HAVAL192" => b"\"<22><>q&\x02<<3C>.<2E>A\x07<30>/\x1E<31>2<EFBFBD>d\x17<31><37><EFBFBD><EFBFBD>\x1C2<43>Xv\x0B<30>p<EFBFBD>ű<EFBFBD>%<25>\x03\x16(<28>C;<3B>+\x08p<38>z8<7A><38>\x12\x15\x13N<33>\x08<30>u<EFBFBD><75>d<EFBFBD>d)qه<EF9EB3><D987>v_<76><5F><EFBFBD>MIN<19><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xLt<4C><74><EFBFBD><EFBFBD>LJ",
"MHASH_HAVAL160" => b"<22><><EFBFBD><EFBFBD>\x07<30><37><EFBFBD><EFBFBD>dn<64><6E>6GX<47><58>m<EFBFBD><6D>\x06\x1E\x00<30><30><EFBFBD>η#<23><><EFBFBD>5<EFBFBD>M<EFBFBD><4D>\"m<>i<EFBFBD>\x1D<31>1\$\x0E<30>|<7C>X<O)Y;<3B>=<3D>ʰ<EFBFBD>y.<2E><>`\"<22>`\x02<30><32>ٴB<D9B4> ԯ<><D4AF>ҵ<EFBFBD>k>G<><47><EFBFBD><EFBFBD>\x19<31>\x17~<7E>\x0D~",
"MHASH_RIPEMD160" => b"<22><><EFBFBD>F<EFBFBD><46><EFBFBD>x<EFBFBD><78>\x0D<30>5<EFBFBD><35>\x02\x0a\x1D[\x19<31>gDXgw<67><77>ܡD<DCA1>&<26>b<EFBFBD><62><EFBFBD><EFBFBD><EFBFBD>j<EFBFBD><6A>B<EFBFBD><42><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<><37><EFBFBD><EFBFBD>]<5D><>G<EFBFBD><47>[\x14G`^\x1B<31><42>\x08K<38><4B><03>\x11\x17<31>3C-AB<41>%<25>\x04K\x03??<3F>K<EFBFBD><4B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
"MHASH_GOST" => b"<22>D<EFBFBD>i<EFBFBD>~<7E>C<EFBFBD>=wƂ<77>\x17<31>B<EFBFBD><42>\x15}<7D><>s<EFBFBD>M<EFBFBD>\x01<30>d|\x01<30>4h<34>Y<EFBFBD>\"\x0A<30>I*b@ф<>xc@sިy<7F><EFBFBD><7F>N%d<><64>\x09<30><39>FD\x0a\x12\x12P<32>\x0F<30><46>}E<><45>~<7E>:pO<70><14>\x0D<30>pw<70>R{\x19M<39>",
"MHASH_TIGER" => b"g<><67>{<7B><>\nG<6E><47>&/3d<><64>#7`<60>2U<32>BQ/<2F>y)<29><><EFBFBD><EFBFBD>X#k'h<><68><EFBFBD><EFBFBD>n<11><19>/<04><>E<EFBFBD><0F><><EFBFBD><EFBFBD><EFBFBD><06>p*M1 V<><56>K<EFBFBD>y<EFBFBD>O`<60> <09><><EFBFBD>M<EFBFBD><18><><EFBFBD>6<EFBFBD><36>|\"<22>",
"MHASH_CRC32" => b"H@<14>&_<>Y<EFBFBD><18>oQ<6F><51><EFBFBD>1[Fq\"<22>\x08<30><38><EFBFBD>f<EFBFBD><66>V<EFBFBD>8\x08<15><>E<EFBFBD><45>E<<3C><><EFBFBD><1D>M<EFBFBD><><C8BA>r<10><12>k*<16>H<EFBFBD><48>u<EFBFBD><18>/}<7D><><EFBFBD>h3iW<69><57><EFBFBD>J?vu
i<EFBFBD><EFBFBD>=<3D>W\"<22><><EFBFBD>",
"MHASH_CRC32B" => b"<22>l<EFBFBD>e<EFBFBD>>}<7D>*<2A>]<>Fכ6\x13<31>bC<62>ˏ. I<>\x0F<30>j<EFBFBD>Υ0<CEA5><30>\x0D\x1F<<3C><>.Qy疾<79><E796BE>ti<74><69>xb<78>\$}<7D>\x0B<30><42>ȴ<EFBFBD> <09>ϬȌD<C88C>DK<44>\x13<31>1uL<75><4C>6<EFBFBD><36>`<60><>ɏ<EFBFBD>|Ec<45>\x04<34>",
);
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";
}
?>