最近用C#写qq活动辅助类程序,碰到了会员签到的gtk算法不一样,后来网上找了看,发现有php版的(https://www.oschina.net/code/snippet_1378052_48831)

后来参考了php版的查php相关的资料用C#写了一个:

 /// <summary>/// 计算gtk32值/// </summary>/// <param name="skey"></param>/// <returns></returns>public static string GetGTK32(string skey){var hash = 5381;var md5Key = "tencentQQVIP123443safde&!%^%1282";var start = hash << 5;var result = string.Empty;for (int i = 0; i < skey.Length; i++){var ascode = CharToASCII(skey.Substring(i, 1));result += (hash << 5) + ascode;hash = ascode;}var str = start + (result + md5Key);return GetMD5(str);}/// <summary>/// MD5加密/// </summary>/// <param name="text"></param>/// <returns></returns>public static string GetMD5(string text){StringBuilder sb = new StringBuilder();using (MD5 md5 = MD5.Create()){byte[] md5Byte = md5.ComputeHash(Encoding.Default.GetBytes(text));for (int i = 0; i < md5Byte.Length; i++){sb.Append(md5Byte[i].ToString("x2"));}}return sb.ToString();}/// <summary>/// /*字符转化为ASCII*//// </summary>/// <param name="character"></param>/// <returns></returns>static int CharToASCII(string character){ASCIIEncoding asciiEncoding = new ASCIIEncoding();int intAsciiCode = asciiEncoding.GetBytes(character)[0];return intAsciiCode;}

View Code

另附上解析cookie中的skey和p_skey方法和gtk算法:

        /// <summary>/// 解析cookie,取到Skey/// </summary>/// <param name="cookies">腾讯QQ cookie</param>/// <returns></returns>public static string GetSkey(string cookies){#region 字符串分割解析//var keyStr = "skey=";//var index = cookies.IndexOf(keyStr) + keyStr.Length;//var skey = cookies.Remove(0, index);//if (skey.Contains(";") && skey.Length > 10)//{//    var laindex = cookies.IndexOf(";");//    skey = skey.Remove(10);//} #endregionvar skey = Regex.Match(cookies, "skey=(.){10}?").Value.Remove(0, 5);if (skey.Length > 10){skey.Remove(10);}return skey;}/// <summary>/// 解析cookie,取到p_skey/// </summary>/// <param name="cookies">腾讯QQ cookie</param>/// <returns></returns>public static string Getp_skey(string cookies){return Regex.Match(cookies, "p_skey=(.)+?_").Value.Remove(0, 7);}/// <summary>/// 算出g_tk/// </summary>/// <param name="sKey">cookie中的sKey值</param>/// <returns></returns>public static string GetGTK(string sKey){var hash = 5381;for (int i = 0, len = sKey.Length; i < len; ++i){hash += (hash << 5) + sKey[i];}return (hash & 0x7fffffff).ToString();}

View Code

转载于:https://www.cnblogs.com/heheblog/p/net_qqgtk.html

腾讯QQ会员中心g_tk32算法【C#版】相关推荐

  1. 腾讯QQ会员技术团队:以手机QQ会员H5加速为例,为你揭开sonic技术内幕

    目前移动端越多越多的网页开始H5化,一方面可以减少安装包体积,另一方面也方便运营.但是相对于原生界面而言,H5的慢速问题一定被大家所诟病,针对这个问题,目前手Q存在几种方案,最常见的便是离线包方案,但 ...

  2. qq动态页面变方格_腾讯QQ音乐9.7.5正式版更新:「歌手主页个人主页」界面全新改版...

    IT之家12月23日消息 今天,腾讯QQ音乐推送了v9.7.5正式版的更新,「歌手主页&个人主页」页面全新改版:「排行榜」新增榜单推荐,基于你的喜好为你推荐榜单:增加本地歌曲排行榜:「听歌识曲 ...

  3. 腾讯QQ/TM珊瑚虫外挂/集成安装版(v3.0.2)[下载]

    最新版本: 腾讯 QQ/TM 珊瑚虫外挂v3.0.2 http://orienthomebj.link263.com/soff/CoralQQ.rar 腾讯 QQ/TM 珊瑚虫集成安装版v3.0.2 ...

  4. qq邮箱android版官方,QQ邮箱下载_腾讯QQ邮箱客户端下载【安卓版】-太平洋下载中心...

    QQ邮箱在安卓手机上某种程度来说自带的软件已经是很不错的应用,谷歌自家的GMAIL绝对是大家的首选,由于地域性问题,可能QQ邮箱的使用率要大于前者.QQ邮箱在国人看来方便实用,联系人都在里面,怎么玩都 ...

  5. qq个人中心g_tk算法

    js代码 try {$.http.jsonp('http://cgi.vip.qq.com/querygrow/get?r=' + Math.random() + '&g_tk=' + tkT ...

  6. 腾讯QQ影像中心招聘算法实习生

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 腾讯QQ影像中心(北京)招聘算法实习生 工作地点北京,岗位描述如下,感兴趣的请发送简历到:xinlongwa ...

  7. 18个顶级的腾讯qq技巧

    1.让电脑只能上到自己的腾讯qq,任何腾讯qq都无法登陆.首先把自己的腾讯qq设置为自动登陆模式,接下来最关键的就是移动或删除腾讯qq主目录下的WizardCtrl.dll文件,这样就算别的腾讯qq怎 ...

  8. QQ会员服务介绍:存储类增值服务(转)

    QQ会员服务介绍:存储类增值服务(转) 1.QQ邮箱(100M) ? 服务说明 注册成为QQ会员的用户将自动拥有"QQ号码@QQ.com"邮箱地址,更可以申请一个自己想要的超炫个性 ...

  9. QQ会员的“十元”生意逻辑:人以群分

    QQ会员,10元包月付费业务,凭借运营模式创新,成功实现由运营 "物品"向运营"人群"的重大转变.那么,它究竟是怎样一个逻辑?①建立会员等级体系,营造身份差异感 ...

  10. mips64el版本的oracle,腾讯QQ Linux版本正式回归 支持x64 ARM64 MIPS64架构

    童年伴奏曲,国产跑步机十大品牌,丽江腊排骨火锅 [PConline资讯]10月24日消息 据腾讯QQ官方消息,腾讯QQLinux版本回归,支持x64.ARM64.MIPS64架构.资料显示,2008年 ...

最新文章

  1. 360浏览器 ajax取缓存,Angularjs在360兼容模式下取数据缓存问题的解决办法
  2. 【蓝桥杯Java_C组·从零开始卷】第五节(二)、BigDecimal的使用
  3. android 自定义帧动画,Android 自定义方式实现帧动画效果
  4. fcn从头开始_如何使用Go从头开始构建区块链
  5. 什么是ie浏览器_?IE 浏览器为什么不招人待见?
  6. MongoDB 或者 redis 可以替代 memcached 吗?
  7. keil c语言字符型变量的值,面向51单片机的Keil uVision4的四种基本数据类型
  8. 这行简单的网址可令Chrome立马崩溃
  9. Kubernetes 小白学习笔记(31)--kubernetes云原生应用开发-istio架构和安装
  10. Codeforces 273D Dima and Figure
  11. 性能摄影设计续航怎么选?荣耀Play4T系列全都要!
  12. 全景声制作软件 Spat Revolution 最新更新 v20.12
  13. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十一章:环境光遮蔽(AMBIENT OCCLUSION)
  14. 谷歌、百度、必应的搜索技巧
  15. OSAL系统框架专题
  16. 快速学习一门新技术的工作原理(十步学习法来自软技能)
  17. Android9.0对非 SDK 接口的限制
  18. #金数据#微信小程序#微信小程序跳转金数据小程序并获取问卷信息
  19. value.charAt(i)和value.slice(i)的理解
  20. 关于下拉刷新你是否真的非常理解还是只会搬砖?附 Android 实例子源代码文件下载地址380个合集...

热门文章

  1. kernel - regulator
  2. ept技术_[讨论]R3检测EPT方式HOOK页面的方案(20170919更新-已解决)
  3. ES dynamic mapping(动态映射)
  4. 竹笛的分类有哪些?来认识竹笛的大家族。
  5. PS之立体台球制作步骤
  6. 【朝花夕拾】Android自定义View篇之(十)移动阈值TouchSlop及滑动追踪VelocityTracker...
  7. 修复计算机命令行,如何用命令提示符修复系统还原_用cmd命令提示符恢复系统的方法...
  8. ICMP隧道检测分析--icmptunnel
  9. 局域网对战平台 linux,在Linux下可用Wine安装和运行腾讯对战平台、5E对战平台
  10. dva 的一些特殊的写法