這篇文章主要介紹了PHP實現的QQ空間g_tk加密算法,涉及php針對字符串的轉換技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了PHP實現的QQ空間g_tk加密算法。分享給大家供大家參考。具體如下:
- //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;
- }
- }
希望本文所述對大家的php程序設計有所幫助。
新聞熱點
疑難解答