Maison >développement back-end >tutoriel php >QQ空间g_tk加密算法PHP版_PHP教程

QQ空间g_tk加密算法PHP版_PHP教程

WBOY
WBOYoriginal
2016-07-20 11:12:351029parcourir

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;                 
    }                 
}

www.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...
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn