Source: Internet
Author: User

<% @ LANGUAGE = "JAVASCRIPT" %> <% function hexdec (str) {return parseInt (str, 16 );}

Function zeroFill (a, B) {var z = hexdec (80000000); if (z & a) {a = a> 1; a & = ~ Z; a | = 0x40000000; a = a> (b-1);} else {a = a> B;} return ();}

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-=; 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); var ret = new Array (a), (B ), (c); return ret ;}

Function GoogleCH (url, length) {var init = 0xE6359A60; if (arguments. length = 1) length = url. length; var a = 0x9E3779B9; var B = 0x9E3779B9; var c = 0xE6359A60; var k = 0; var len = length; var mixo = new Array (); 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); mixo = mix (a, B, c ); a = mixo [0]; B = mixo [1]; c = mixo [2]; k + = 12; len-= 12;} c + = length; switch (len) {case 11: c + = url [k + 10] <24; case 10: c + = url [k + 9] <16; case 9: c + = url [k + 8] <8; case 8: B + = (url [k + 7] <24); case 7: B + = (url [k + 6] <16); case 6: B + = (url [k + 5] <8); case 5: B + = (url [k + 4]); case 4: a + = (url [k + 3] <24); case 3: a + = (url [k + 2] <16); case 2: a + = (url [k + 1] <8); case 1: a + = (url [k + 0]);} mixo = mix (a, B, c); if (mixo [2] <0) return (0x100000000 + mixo [2]); else return mixo [2];}

Function zeroFill (a, B) {var z = hexdec (80000000); if (z & a) {a = a> 1; a & = ~ Z; a | = 0x40000000; a = a> (b-1);} else {a = a> B;} return ();}

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-=; 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); var ret = new Array (a), (B ), (c); return ret ;}

Function GoogleCH (url, length) {var init = 0xE6359A60; if (arguments. length = 1) length = url. length; var a = 0x9E3779B9; var B = 0x9E3779B9; var c = 0xE6359A60; var k = 0; var len = length; var mixo = new Array (); 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); mixo = mix (a, B, c ); a = mixo [0]; B = mixo [1]; c = mixo [2]; k + = 12; len-= 12;} c + = length; switch (len) {case 11: c + = url [k + 10] <24; case 10: c + = url [k + 9] <16; case 9: c + = url [k + 8] <8; case 8: B + = (url [k + 7] <24); case 7: B + = (url [k + 6] <16); case 6: B + = (url [k + 5] <8); case 5: B + = (url [k + 4]); case 4: a + = (url [k + 3] <24); case 3: a + = (url [k + 2] <16); case 2: a + = (url [k + 1] <8); case 1: a + = (url [k + 0]);} mixo = mix (a, B, c); if (mixo [2] <0) return (0x100000000 + mixo [2]); else return mixo [2];}

Related Article