webqq2.0协议研究(3)-ClientId生成

2010-11-07 09:18

webqq2.0协议研究(3)-ClientId生成

by hackren

at 2010-11-07 01:18:00

original http://www.cnblogs.com/hackren/archive/2010/11/07/1870903.html

    在登陆过程中使用参数clientid,这个参数其实可以自定义的。他的生成没有基于任何服务器返回的参数。但是群里边经常有人提到这个参数算法,

这里我就整理下群里讨论的结果
     clientid 的算法在eqq.all.js里。在dom里可以看到他是webqq.eqq.rpcservice下的getclientid方法返回的。

     js里边的算法为:clientid = String(k.random(0, 99)) + String((new Date()).getTime() % 1000000)
     

     用c#重写:

      以下是群里  ~天 域(41485064)给出的代码:

     

代码
public static string GenerateClientID()
{
return new Random(Guid.NewGuid().GetHashCode()).Next(0, 99) + "" + GetTime(DateTime.Now) / 1000000;
}
public static long GetTime(DateTime dateTime)
{
DateTime startDate
= new DateTime(1970, 1, 1);
DateTime endDate
= dateTime.ToUniversalTime();
TimeSpan span
= endDate - startDate;
return (long)(span.TotalMilliseconds + 0.5);
}

 

 

webQQ2协议研究群,欢迎各位加入,群号:8033525

 

转载请注明原地址 http://www.cnblogs.com/hackren/archive/2010/11/07/1870903.html

hackren

作者: hackren 发表于 2010-11-07 01:18 原文链接

评论: 1 查看评论 发表评论


最新新闻:
· 新世纪周刊:云计算虚实(2010-11-07 22:31)
· 传首款 Chrome OS 设备本月底上市(2010-11-07 21:10)
· 戴尔开始大规模采用 Windows Phone 7(2010-11-07 21:06)
· 开发者对各平台青睐程度悄然变化(2010-11-07 20:13)
· 研究人员指出最近Java频出安全漏洞问题(2010-11-07 20:07)

编辑推荐:中国互联网最为惨烈的一场大战:360 VS 腾讯(持续更新)

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库