本文实例讲述了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程序设计有所帮助。
您可能感兴趣的文章:PHP 加密解密内部算法微盾PHP脚本加密专家php解密算法一组PHP可逆加密解密算法实例代码PHP mcrypt可逆加密算法分析php实现rc4加密算法代码PHP实现AES256加密算法实例PHP中对各种加密算法、Hash算法的速度测试对比代码PHP和C#可共用的可逆加密算法详解标准PHP的AES加密算法类php用户密码加密算法分析【Discuz加密算法】