我们现在可以看到与当前哈希库相同的测试结果。在define('MOD_ADLER', 65521);
// Wikipedia Implimentation for testing.
function adler32($data) {
$a = 1;
$b = 0;
$len = strlen($data);
for ($index = 0; $index < $len; ++$index) {
$a = ($a + $data[$index]) % MOD_ADLER;
$b = ($b + $a) % MOD_ADLER;
}
return ($b << 16) | $a;
}
echo "programed version: " . adler32("bla") . "
";
echo "php version: " . hash("adler32", "bla") . "
";
echo "mhash version: " .bin2hex(mhash(MHASH_ADLER32, "bla"));
最终结果是:
^{pr2}$
我们可以看到PHP(hash)和mash版本产生的结果是相同的,尽管mhash函数返回的是十六进制数。在
zlib python结果将被证明是最可靠的输出。在