QQ登陆是怎么实现的

登陆QQ会验证账号和密码,但是QQ用户那么多,它是怎么保证效率的呢?

0

5个回答

他的自动登录是这样搞的[code="java"]实现代码 private void QQLogin(string QQ,string Pwd) { System.Security.Cryptography.MD5 md5=new System.Security.Cryptography.MD5CryptoServiceProvider(); string QQPwd=Convert.ToBase64String(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(Pwd))); System.Diagnostics.Process pro=new System.Diagnostics.Process(); pro.StartInfo.FileName=@"D:\Program Files\Tencent\QQ\QQ.exe"; pro.StartInfo.Arguments="/start QQUIN:"+this.txtQQ.Text.Trim()+" PWDHASH:"+QQPwd+" /stat:40"; pro.Start(); } 实现原理: QQ自动登陆参数如下: QQ.exe(QQ路径) /START QQUIN:QQ号 PWDHASH:加密后的密码 /STAT:40 [STAT:40 (40 是隐身登陆41 是正常登陆)] D:\Tencent\QQ.exe /START QQUIN:123456 PWDHASH:4QrcOUm6Wau+VuBX8g+IPg== /STAT:41 这就是一个QQ号码为123456,密码为123456,QQ安装路径为:D:\Tencent\QQ.exe的QQ登陆参数,登陆方式为正常登陆。 PWDHASH的加密算法: 首先将QQ原始密码进行MD5散列算法处理,得到一个16字节的MD5 HASH字符串,然后用BASE64编码对这个HASH字符串做第二次编码,编码后的数据就是PWDHASH的值。 [/code]

0

去找腾讯开放平台以及OAuth

0

我知道他异地检测原理

[code="java"]按QQ的通讯协议(其他的IM软件也一样),没隔一段时间(大概6秒)会向服务器提交一个心跳信息,说明自己还活着,一般在这个时候可以由服务器检查是否异地登陆了,如果是返回一个信息给客户端。知道异地登陆后怎么处理就自己搞定了[/code] 它会抓包,腾讯使用的协议是
Tencent://Message

0

别的就不知道了

0

没你想的那么复杂,用户虽然多,活跃用户有多少?活跃用户并发的访问有多少?

通常活跃用户要做缓存

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!