PHP实现的QQ空间g_tk加密算法

yipeiwu_com5年前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程序设计有所帮助。

相关文章

利用PHP如何统计Nginx日志的User Agent数据

利用PHP如何统计Nginx日志的User Agent数据

前言 即将用到爬虫,于是打算收集一下User Agent(UA)数据。接着马上想到自己网站的访问日志不就是现成的优质数据源吗?于是愉快的决定写个脚本统计一下Nginx访问日志中的UA信息...

php生成二维码时出现中文乱码的解决方法

本文实例讲述了php生成二维码时出现中文乱码的解决方法。分享给大家供大家参考。具体分析如下: 最近做了个扫描二维码得到vcard的项目,遇到一个问题,有一部分生成完的二维码,用andro...

PHP实现的XML操作类【XML Library】

本文实例讲述了PHP实现的XML操作类。分享给大家供大家参考,具体如下: 这是一个接口程序,需要大量分析解析XML,PHP的xml_parse_into_struct()函数不能直接生成...

今天你说520了吗?不仅有php表白书还有java表白神器

今天你说520了吗?不仅有php表白书还有java表白神器

先来看看表白神器,点击这里下载,来表白吧! 不如就把这些感性的细枝末节放大吧,用代码写下520的“告白书” “自从遇见了你,就不停地想你。 编一个死循环, 让我们一直走,一直走。”...

php之CodeIgniter学习笔记

在使用数据库之前,我们最好将数据库进行自动连接:config/autoload.php自动加载 $autoload['libraries'] = array('database');一些...