Показать сообщение отдельно

  #6  
Старый 29.02.2008, 10:22
Macro
Постоянный
Регистрация: 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; 
} 
?>
Моя функция хэширования без использования стандартных функций
 
Ответить с цитированием