tk加密算法PHP版

g_tk参数是腾讯在web产物上常常利用的一个参数。该参数一般用于:QQ空间、伴侣网、QQ勾当等处所。

g_tk是由cookie中的skey生成,网上有js、java、c#等语言的算法,可是貌似没有果真php算法。

昨天在sina sae开拓一个应用,用到此参数,故改写了一下。此刻分享给各人

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/7744.html