View Single Post
Old 07-03-2004, 09:33 PM  
jasonir
Confirmed User
 
Join Date: Aug 2002
Location: Toro'no
Posts: 1,887
Has anyone posted the Google PageRank checksum script?

PHP Code:
<?php 
/* 
This code is released unto the public domain 
*/ 
header("Content-Type: text/plain; charset=utf-8"); 
define('GOOGLE_MAGIC'0xE6359A60); 

//unsigned shift right 
function zeroFill($a$b

$z hexdec(80000000); 
if (
$z $a

$a = ($a>>1); 
$a &= (~$z); 
$a ¦0x40000000
$a = ($a>>($b-1)); 

else 

$a = ($a>>$b); 

return 
$a



function 
mix($a,$b,$c) { 
$a -= $b$a -= $c$a ^= (zeroFill($c,13)); 
$b -= $c$b -= $a$b ^= ($a<<8); 
$c -= $a$c -= $b$c ^= (zeroFill($b,13)); 
$a -= $b$a -= $c$a ^= (zeroFill($c,12)); 
$b -= $c$b -= $a$b ^= ($a<<16); 
$c -= $a$c -= $b$c ^= (zeroFill($b,5)); 
$a -= $b$a -= $c$a ^= (zeroFill($c,3)); 
$b -= $c$b -= $a$b ^= ($a<<10); 
$c -= $a$c -= $b$c ^= (zeroFill($b,15)); 

return array(
$a,$b,$c); 


function 
GoogleCH($url$length=null$init=GOOGLE_MAGIC) { 
if(
is_null($length)) { 
$length sizeof($url); 

$a $b 0x9E3779B9
$c $init
$k 0
$len $length
while(
$len >= 12) { 
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24)); 
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24)); 
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24)); 
$mix mix($a,$b,$c); 
$a $mix[0]; $b $mix[1]; $c $mix[2]; 
$k += 12
$len -= 12


$c += $length
switch(
$len/* all the case statements fall through */ 

case 
11$c+=($url[$k+10]<<24); 
case 
10$c+=($url[$k+9]<<16); 
case 
$c+=($url[$k+8]<<8); 
/* the first byte of c is reserved for the length */ 
case $b+=($url[$k+7]<<24); 
case 
$b+=($url[$k+6]<<16); 
case 
$b+=($url[$k+5]<<8); 
case 
$b+=($url[$k+4]); 
case 
$a+=($url[$k+3]<<24); 
case 
$a+=($url[$k+2]<<16); 
case 
$a+=($url[$k+1]<<8); 
case 
$a+=($url[$k+0]); 
/* case 0: nothing left to add */ 

$mix mix($a,$b,$c); 
/*-------------------------------------------- report the result */ 
return $mix[2]; 


//converts a string into an array of integers containing the numeric value of the char 
function strord($string) { 
for(
$i=0;$i<strlen($string);$i++) { 
$result[$i] = ord($string{$i}); 

return 
$result

// [url]http://www.example.com/[/url] - Checksum: 6540747202 
$url 'info:'.$_GET['url']; 
print(
"url:\t{$_GET['url']}\n"); 
$ch GoogleCH(strord($url)); 
printf("ch:\t6%u\n",$ch); 
?>
It's so nice to share with others.
__________________
ICQ: 61689996
jasonir is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote