码迷,mamicode.com
首页 > Windows程序 > 详细

C# QQ GTK && MD5

时间:2015-08-04 13:37:47      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:

查阅了一下C#关于QQ GTK方面的资料、然而并没有找到什么相关性的代码

好吧,那只有自己写一份 不过GTK方面算法以前的时候Downloader过一下

虽然是E语言的、不过不打紧 一般GTK主要应用于登陆QQ空间 留言板 那一

块、不过在本代码中包含TXMD5加密部分 TXMD5搞登陆验证其实也还可以

        // bkn, gtk, ldw
        public static string GetAntiCSRFToken(byte[] skey, 
                int uType = 0 // 1-md5,0-int
            )
        {
            int salt = 5381;
            string token = string.Empty;
            if (uType == 1)
            {
                string hash = (salt << 5).ToString();
                string md5key = "tencentQQVIP123443safde&!%^%1282";
                for (int i = 0; i < skey.Length; i++)
                {
                    int asc = (sbyte)skey[i];
                    hash += ((salt << 5) + asc);
                    salt = asc;
                }
                token = GetDataSummary(Encoding.Default.GetBytes(hash += md5key));
            }
            else
            {
                for (int i = 0; i < skey.Length; i++)
                    salt += (salt << 5) + (sbyte)skey[i];
                token = (salt & 2147483647).ToString();
            }
            return token;
        }

上面是GTK && MD5加密的部分、若 uType = 1

返回的是MD5加密文本、否则是GTK加密后的文本、

        public static string GetDataSummary(byte[] buf)
        {
            string str = string.Empty;
            using (MD5 md5 = MD5.Create())
            {
                buf = md5.ComputeHash(buf);
                for (int i = 0; i < buf.Length; i++)
                    str += buf[i].ToString("x");
            }
            return str;
        }

GetDataSummary 取数据摘要 可以理解为取MD5的文本啦、

版权声明:本文为博主原创文章,未经博主允许不得转载。

C# QQ GTK && MD5

标签:

原文地址:http://blog.csdn.net/u012395622/article/details/47274131

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!