QQ空间g_tk加密算法PHP版

来源:转载

QQ空间g_tk加密算法PHP版

 

//G_tk计算

function getGTK($skey){

$hash = 5381;

for($i=0;$i<strlen($skey);++$i){

$hash += ($hash << 5) + utf8_unicode($skey[$i]);

}

return $hash & 0x7fffffff;

}

function utf8_unicode($c) {

switch(strlen($c)) {

case 1:

return ord($c);

case 2:

$n = (ord($c[0]) & 0x3f) << 6;

$n += ord($c[1]) & 0x3f;

return $n;

case 3:

$n = (ord($c[0]) & 0x1f) << 12;

$n += (ord($c[1]) & 0x3f) << 6;

$n += ord($c[2]) & 0x3f;

return $n;

case 4:

$n = (ord($c[0]) & 0x0f) << 18;

$n += (ord($c[1]) & 0x3f) << 12;

$n += (ord($c[2]) & 0x3f) << 6;

$n += ord($c[3]) & 0x3f;

return $n;

}

}


分享给朋友:
您可能感兴趣的文章:
随机阅读:
栏目列表
推荐内容