
29.02.2008, 10:22
|
|
Постоянный
Регистрация: 11.11.2006
Сообщений: 595
С нами:
10261766
Репутация:
1079
|
|
PHP код:
<?
function macrohash($string)
{
$b=bin2hex($string);
$str = '';
$c='';
for($i=0; $i<=strlen($b)-2; $i+=2)
{
$sm=0;
for($j=0; $j<=strlen($b-2); $j+=2)
{
$sm=$sm+hexdec(substr($b,$j,2));
}
$asdf2=explode(".",$sm/3.1415927);
$summab=$asdf2[1];
$x=hexdec(substr($b,$i,2));
$c.=dechex($x+intval(strlen($string)*$x)+$summab/$x);
}
if (strlen($c)<=32)
{
$d='';
for($i=0; strlen($d)<=32; $i+=2)
{
$sm=0;
for($j=0; $j<=strlen($b-2); $j+=2)
{
$sm=$sm+hexdec(substr($b,$j,2));
}
$asdf2=explode(".",$sm/3.1415927);
$summab=$asdf2[1];
$d.=dechex(intval((hexdec(substr($c,$i,2))+strlen($d))*$summab*$x));
}
$str=substr($d,strlen($d)-32,32);
}
elseif(strlen($c)>32)
{
$w='';
$c=substr($c,strlen($c)-5);
for($i=0; strlen($w)<=32; $i+=2)
{
$sm=0;
for($j=0; $j<=strlen($b-2); $j+=2)
{
$sm=$sm+hexdec(substr($b,$j,2));
}
$asdf2=explode(".",$sm/3.1415927);
$summab=$asdf2[1];
$w.=dechex(intval((hexdec(substr($c,$i,2))+strlen($w))*$summab*$x));
}
$str=substr($w,0,32);
}
return $str;
}
?>
Моя функция хэширования без использования стандартных функций
|
|
|