QQ空间g_tk加密算法PHP版
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 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 ;
}
}
|
登入後複製
http://www.bkjia.com/PHPjc/444548.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/444548.htmlTechArticleQQ空间g_tk加密算法PHP版 //G_tk计算function getGTK($skey){ $hash = 5381; for($i=0;$istrlen($skey);++$i){ $hash += ($hash 5) + utf8_unicode($skey[$i]); } return $hash 0x7fff...