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


Posted in PHP onJuly 09, 2015

本文实例讲述了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 相关文章推荐
人大复印资料处理程序_输入篇
Oct 09 PHP
PHP远程连接MYSQL数据库非常慢的解决方法
Jul 05 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
基于PHP编程注意事项的小结
Apr 27 PHP
关于svn冲突的解决方法
Jun 21 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
php+ajax 实现输入读取数据库显示匹配信息
Oct 08 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
PHP常用文件操作函数和简单实例分析
Jun 03 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
PHP操作Redis常用技巧总结
Apr 24 PHP
php7 错误处理机制修改实例分析
May 25 PHP
PHP自毁程序(慎用)
Jul 09 #PHP
PHP模板解析类实例
Jul 09 #PHP
PHP多文件上传实例
Jul 09 #PHP
php判断linux下程序问题实例
Jul 09 #PHP
php实现html标签闭合检测与修复方法
Jul 09 #PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 #PHP
php类常量用法实例分析
Jul 09 #PHP
You might like
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
PHP批量生成缩略图的代码
2008/07/19 PHP
工厂模式在Zend Framework中应用介绍
2012/07/10 PHP
php链表用法实例分析
2015/07/09 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题
2013/01/11 Javascript
javascript 表格内容排序 简单操作示例代码
2014/01/03 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
node.js中的buffer.length方法使用说明
2014/12/14 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
jQuery实现跨域
2015/02/03 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
JavaScript中的anchor()方法使用详解
2015/06/08 Javascript
基于JavaScript实现移动端TAB触屏切换效果
2015/10/20 Javascript
AngularJS中的Directive自定义一个表格
2016/01/25 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
[01:06:43]完美世界DOTA2联赛PWL S3 PXG vs GXR 第二场 12.19
2020/12/24 DOTA
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
2014年女职工工作总结
2014/11/27 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
幼儿园辞职信
2015/05/13 职场文书
2016教师廉洁教育心得体会
2016/01/13 职场文书
详解MySQL数据库千万级数据查询和存储
2021/05/18 MySQL
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python