这篇文章主要介绍了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;}}
以上QQ空间g_tk加密算法供大家研究学习加密算法的原理。来自: