Funktion CheckSum Google

1,085 mal gesehen

Eines der von Google, die Berechnung der Prüfsumme verwendet werden!

Viele Entwickler verwenden diese Berechnung der Prüfsumme, um Besucher auf ihre Webseiten Service Page-Rank-Anzeige bieten, ist es möglich, Google API Google für sie zu verwenden, sondern als die Grenze von 1000 Anfragen pro Tag, die Funktion , unten, um dieses Problem zu beheben Einschränkung.

GoogleCSum ($ s, $ key) {
V4 = $ $ len = strlen ($ s) $ esi = $ key, $ ebx = EDI = $ 0x9E3779B9; $ p = 0;
if ($ len> = 12)
for ($ i = 0; $ i <Etage ($ len/12) $ i + +)
Unsign EDI = {$ ($ EDI + ord ($ s [$ p 4]) + (ord ($ s [$ p 5]) << 8) + (ord ($ s [$ p 6]) << 16) + (ord ($ s [$ p 7]) << 24));
$ Esi = unsign ($ ESI + ord ($ s [$ p 8]) + (ord ($ s [$ p 9]) << 8) + (ord ($ s [$ 10 p]) < <16) + (ord ($ s [$ p 11]) << 24));
EDX = unsign $ (($ ebx + ord ($ s [$ p 0]) + (ord ($ s [$ p +1]) << 8) + (ord ($ s [$ p 2]) << 16) + (ord ($ s [$ p 3]) << 24) - $ $-EDI ESI) ^ shr ($ esi, 13));
Unsign EDI = $ (($ $ $ EDI-EDX-ESI-) ^ ($ EDX << 8));
Esi = unsign $ (($ esi, $ EDI EDX-$) ^ shr ($ EDI, 13));
EDX = unsign $ (($ $ EDX, ESI EDI-$) ^ shr ($ esi, 12));
Unsign EDI = $ (($ $ $ EDI-EDX-ESI-) ^ ($ EDX << 16));
Esi = unsign $ (($ esi, $ EDI EDX-$) ^ shr ($ EDI, 5));
EDX = unsign $ (($ $ EDX, ESI EDI-$) ^ shr ($ esi, 3)); $ $ ebx = EDX;
Unsign EDI = $ (($ $ $-EDI-ESI ebx) ^ ($ ebx << 10));
Esi = unsign $ (($ ESI, EDI-$ $ ebx) ^ shr ($ EDI, 15));
$-V4 = 12; $ p + = 12;}
$ Esi = unsign (ESI + $ $ len);
if ($ v4> = 11) $ esi = unsign ($ esi + (ord ($ s [$ p 10]) << 24));
if ($ v4> = 10) $ esi = unsign ($ esi + (ord ($ s [$ p 9]) << 16));
if ($ v4> = 9) $ esi = unsign ($ esi + (ord ($ s [$ p 8]) << 8));
if ($ v4> = 8) = $ EDI unsign ($ EDI + ord ($ s [$ p 4]) + (ord ($ s [$ p 5]) << 8) + (ord ($ s [$ p 6]) << 16) + (ord ($ s [$ p 7]) << 24));
sonst
{If ($ v4> = 7) = $ unsign EDI (EDI $ + (ord ($ s [$ p 6]) << 16));
if ($ v4> = 6) = $ unsign EDI (EDI $ + (ord ($ s [$ p 5]) << 8));
if ($ v4> = 5) = $ EDI unsign ($ EDI + ord ($ s [$ p 4]));}
if ($ v4> = 4) $ ebx = unsign ($ ebx + ord ($ s [$ p 0]) + (ord ($ s [$ p +1]) << 8) + (ord ($ s [$ p +2]) << 16) + (ord ($ s [$ p 3]) << 24));
sonst
{If ($ v4> = 3) $ ebx = unsign ($ ebx + (ord ($ s [$ p +2]) << 16));
if ($ v4> = 2) $ ebx = unsign ($ ebx + (ord ($ s [$ p +1]) << 8));
if ($ v4> = 1) $ ebx = unsign ($ ebx + ord ($ s [$ p 0]));}
Ebx = unsign $ (($ ebx, edi-$ $ ESI) ^ shr ($ esi, 13));
Unsign EDI = $ (($ $ $-EDI-ESI ebx) ^ ($ ebx << 8));
Esi = unsign $ (($ ESI, EDI-$ $ ebx) ^ shr ($ EDI, 13));
Ebx = unsign $ (($ ebx, edi-$ $ ESI) ^ shr ($ esi, 12));
Unsign EDI = $ (($ $ $-EDI-ESI ebx) ^ ($ ebx << 16));
Esi = unsign $ (($ ESI, EDI-$ $ ebx) ^ shr ($ EDI, 5));
Ebx = unsign $ (($ ebx, edi-$ $ ESI) ^ shr ($ esi, 3));
Unsign EDI = $ (($ $ $-EDI-ESI ebx) ^ ($ ebx << 10));
Esi = unsign $ (($ ESI, EDI-$ $ ebx) ^ shr ($ EDI, 15)); return $ esi;
}

Hinterlasse einen Kommentar

Abonnieren ohne zu kommentieren