读书人

QQ空间的登录加密算法是什么?解决办法

发布时间: 2013-10-27 15:21:49 作者: rapoo

QQ空间的登录加密算法是什么?
本帖最后由 starsky_1 于 2013-10-23 16:34:56 编辑 下载了一个QQ农场外挂,想学习下。
但是源码里的登录算法已经过时了,想知道最新的登录算法是什么?是如何实现的?
现在把原来的代码贴上来,大神们告诉我怎么修改!

string username = "123";
string userPWD = "123";
string verifyCode = txtVerify.Text;
string errorTxt = string.Empty;
string strRetVal = Utils.getMd5Hash2(Utils.getMd5Hash(userPWD).ToUpper() + verifyCode.ToUpper()).ToUpper();
string postData = "u=" + username + "&p=" + strRetVal + "&verifycode=" + verifyCode + "&aid=15000101&u1=http%3A%2F%2Fphp.qzone.qq.com%2Findex.php%3Fmod%3Dportal%26act%3Dlogin&fp=loginerroralert&h=1&ptredirect=1&ptlang=0&from_ui=1&dumy=";
string result = HttpHelper.GetHtml("http://ptlogin2.qq.com/login", postData, true, cookie);
errorTxt = result;
result = HttpHelper.GetHtml("http://php.qzone.qq.com/index.php?mod=portal&act=login", cookie);
bool isLogin = result.Contains("g_iLoginUin = " + username);
if (!isLogin)
{
if (result.Contains("完成跳转"))
{
ChangeMessage("登录成功");
isLogin = true;
}
else
{
if (!isLogin)
{
if (result.Contains("g_iLoginUin=" + username))
{
ChangeMessage("登录成功");
isLogin = true;
}
else
{
errorTxt = Utils.NoHTML(errorTxt);
isLogin = false;
}
}
}
}
else
{
ChangeMessage("登录成功");
isLogin = true;
}
/// <summary>
/// md5加密
/// </summary>
/// <param name="input"></param>


/// <returns></returns>
public static string getMd5Hash2(string input)
{
byte[] buffer = MD5.Create().ComputeHash(Encoding.Default.GetBytes(input));
StringBuilder builder = new StringBuilder();
for (int i = 0; i < buffer.Length; i++)
{
builder.Append(buffer[i].ToString("x2"));
}
return builder.ToString();
}
/// <summary>
/// 三次md5加密
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public static string getMd5Hash(string input)
{
MD5 md = MD5.Create();
byte[] buffer = md.ComputeHash(Encoding.Default.GetBytes(input));
buffer = md.ComputeHash(buffer);
buffer = md.ComputeHash(buffer);
StringBuilder builder = new StringBuilder();
for (int i = 0; i < buffer.Length; i++)
{
builder.Append(buffer[i].ToString("x2"));
}
return builder.ToString();
}

读书人网 >C#

热点推荐