Jump to content
xisto Community
Sign in to follow this  
Gavin Shaw

Google Toolbar V3.x/4.x Pagerank Checksum Algorithm compatible with PHP 4.4.x/PHP 5.x

Recommended Posts

Toolbar V 4.0.x Pagerank checksum caculator

#!/usr/bin/php<?php/*  Google PageRank Checksum Algorithm (Toolbar 3.x/4.x)  http://forums.xisto.com/no_longer_exists/  http://forums.xisto.com/no_longer_exists/ StrToNum($Str, $Check, $Magic){	$Int32Unit = 4294967296;  // 2^32	$length = strlen($Str);	for ($i = 0; $i < $length; $i++) {		$Check *= $Magic;			//If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31),		//  the result of converting to integer is undefined		//  refer to http://http://php.net/manual/en/language.types.integer.php		if (is_float($Check)) {			$Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit));			// - 2^31			$Check = ($Check < -2147483647) ? ($Check + $Int32Unit) : $Check;		}		$Check += ord($Str{$i});	}	return $Check;}function HashURL($String){	$Check1 = StrToNum($String, 0x1505, 0x21);	$Check2 = StrToNum($String, 0, 0x1003F);   	$Check1 >>= 2;		$Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F);	$Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF);	$Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF);      	$T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F );	$T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 );   	return ($T1 | $T2);}function CheckHash($Hashnum){	$CheckByte = 0;	$Flag = 0;	$HashStr = sprintf('%u', $Hashnum);	$length = strlen($HashStr);   	for ($i = $length - 1;  $i >= 0;  $i --) {		$Re = $HashStr{$i};		if (1 == ($Flag % 2)) {			$Re += $Re;			$Re = (int)($Re / 10) + ($Re % 10);		}		$CheckByte += $Re;		$Flag ++;   	}	$CheckByte %= 10;	if (0 !== $CheckByte) {		$CheckByte = 10 - $CheckByte;		if (1 === ($Flag%2) ) {			if (1 === ($CheckByte % 2)) {				$CheckByte += 9;			}			$CheckByte >>= 1;		}	}	return '7'.$CheckByte.$HashStr;}if ($argc == 2) {	echo CheckHash(HashURL($argv[1]));} else {	exit ("please specify a URL,for example: http://forums.xisto.com/no_longer_exists/;


I have tested on Debian GNU/Linux etch

PHP 5.1.6-1 (cli) (built: Sep 1 2006 13:52:26)

Linux sagas 2.6.16-2-686 #1 Fri Aug 18 19:01:49 UTC 2006 i686 GNU/Linux


Share this post


Link to post
Share on other sites

I just looked over the script and I think you could give a description some kind of what page rank it shows? I think it won't work, from where do you get the variable $argc? and where it should check the page rank? by the letters and numbers in the domain? I think it might be just one part of the script? I don't really understand :) Or it should be used somewhere I don't know? For example if a user will find this post from google search, he won't understand? Or this is just me who does not understand..

Share this post


Link to post
Share on other sites

hey,

how can I run this script?

Is it for any webpages or some other stuff??

 

( Sorry to ask you such a newbie question! I'm not that much into scripting and all! :P )

 

This is a Command Line Script.

 

if you save it as pagerank.php, you can open a shell, then run the command

$php pagerank.php

2005-09-13 v0.1 first release

2005-10-21 v1.1 fix a bug for the final character

2006-09-21 v1.2 compatible with PHP 4.4/PHP 5.x

2006-09-29 v1.3 X86_64 CPU supported

Edited by Gavin Shaw (see edit history)

Share this post


Link to post
Share on other sites

I just looked over the script and I think you could give a description some kind of what page rank it shows? I think it won't work, from where do you get the variable $argc? and where it should check the page rank? by the letters and numbers in the domain? I think it might be just one part of the script? I don't really understand :P Or it should be used somewhere I don't know? For example if a user will find this post from google search, he won't understand? Or this is just me who does not understand..

 

Thank your reply.

 

The code above is a complete CLI script,which get $argc and $argv from the shell command line

 

please refer to

http://php.net/manual/en/intro-whatcando.php

 

 

Server-side scripting demo

http://forums.xisto.com/no_longer_exists/

 

Server-side scripting source code

http://forums.xisto.com/no_longer_exists/pagerank.php.zip

Edited by Gavin Shaw (see edit history)

Share this post


Link to post
Share on other sites

Hey why isn't even a definition of the Code snippet provided?

 

I can't figure out what this code would do...

 

Can you please elaborate would it accomplishes?

 

It's a complete scripting.

 

I have added comments to the source code

 

Server-side scripting source code

http://forums.xisto.com/no_longer_exists/

 

/* * convert a string to a 32-bit integer *	the string maybe is your webpage's url */function StrToNum($Str, $Check, $Magic)/*  * Genearate a hash string from a url */function HashURL($String)/*  * genearate a checksum for the hash string */function CheckHash($Hashnum)$C = "<a href=\"https://www.google.com/search?client=navclient-auto&features=Rank:&q=info = "\">Get PageRank</a>";if (isset ($_GET['url'])) {	echo $C.$_GET['url'].'&ch='.CheckHash(HashURL($_GET['url'])).$E;} 

If the scripting get a url parameter from your browser, it will generate a checksum for the url

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.