码迷,mamicode.com
首页 > Web开发 > 详细

WebQQ hash值获取 C#方法 2014/06/20

时间:2014-06-21 18:06:43      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:style   class   blog   code   color   get   

去年心血来潮,利用闲暇时间做了一个WebQQ的桌面软件,基本功能实现之后,就放那儿了。webQQ的协议时常更新,导致有些参数加密的方法要跟着更新,今天群里一朋友提供了一份最新的WebQQ hash的js,我转成了C#的方法,记在这里,希望对正在做webqq的朋友有所帮助。

js方法

 

p=getqqhsahs(b,j) {
            for (var a = j + "password error",
            i = "",
            E = [];;) if (i.length <= a.length) {
                if (i += b, i.length == a.length) break
            } else {
                i = i.slice(0, a.length);
                break
            }
            for (var c = 0; c < i.length; c++) E[c] = i.charCodeAt(c) ^ a.charCodeAt(c);
            a = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
            i = "";
            for (c = 0; c < E.length; c++) i += a[E[c] >> 4 & 15],
            i += a[E[c] & 15];
            return i
        }

 

转成C#方法

public string GetHash(uint b, string j)
        {
            var a = j + "password error";
            var i = "";
            var E = new List<int>();
            while (true)
            {
                if (i.Length <= a.Length)
                {
                    i += b;
                    if (i.Length == a.Length)
                        break;
                }
                else
                {
                    i = i.Substring(0, a.Length);
                    break;
                }

            }
            char[] ichars = i.ToCharArray();
            char[] achars = a.ToCharArray();
            for (var c = 0; c < i.Length; c++)
                E.Add(((int)ichars[c] ^ (int)achars[c]));
            string[] a1 = new string[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" };
            i = "";
            for (var c = 0; c < E.Count; c++)
            {
                i += a1[(int)E[c] >> 4 & 15];
                i += a1[(int)E[c] & 15];
            }
            return i;
        }

代码的返回数据已经和js进行了对比,可以使用; 由于我自己的webQQ很久没有更新,这个方法没有在webqq项目中测试;使用中有遇到和js处理后的数据不一致,请留言告知。

 

WebQQ hash值获取 C#方法 2014/06/20,布布扣,bubuko.com

WebQQ hash值获取 C#方法 2014/06/20

标签:style   class   blog   code   color   get   

原文地址:http://www.cnblogs.com/andyvane/p/3800218.html

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