I made a hash algorithm and made the program in vb.net and converted it in PHP.
I don't know why but it returns 0 value all the time. Here is the code.
- Code: Select all
<?php
function Convert_Hash($str) {
$asc = 0;
$sum = 0;
$fillnum = 0;
$num0 = 0;
$bin = "";
$lst = "";
$haash = "";
foreach($str as &$harf) {
$sum += ord($harf);
}
$fillnum = $sum % 8;
if(strlen($str) < 16) {
$str = str_pad($str, 16, (string)$fillnum, STR_PAD_RIGHT);
}
elseif(strlen($str) > 16) {
$str = substr($str, 8);
$str = str_pad($str, 16, (string)$fillnum, STR_PAD_RIGHT);
}
foreach($str as &$letter) {
$num0 += ord($letter);
$modul += $num0 % 256;
$bin = decbin($modul);
if(strlen($bin) < 8){
$bin = str_pad($bin, 8, "0", STR_PAD_LEFT);
}
elseif(strlen($bin) > 8){
$bin = substr($bin, 8);
}
$lst += substr($bin, 0) ^ substr($bin, 1);
$lst += substr($bin, 2) ^ substr($bin, 3);
$lst += substr($bin, 4) ^ substr($bin, 5);
$lst += substr($bin, 6) ^ substr($bin, 7);
}
for($i = 0; $i < 64; $i += 4){
$asc = bindec(substr($bin, $i, 4)) + 48;
$haash += chr($asc);
}
return $haash;
}
?>
I don't know whats wrong. I'd be glad if you can help me.
Thank you


