c# rsa登录新浪微博
warning:
这篇文章距离上次修改已过566天,其中的内容可能已经有所变动。
最新c# rsa算法 登录新浪微博
最近新浪更新了登录验证方式,采用了rsa算法.以前的方式是
string getPsw(string oPsw, string sTime, string nonce)
{
string psw = hex_sha1(oPsw);
psw = hex_sha1(psw);
psw = "" + psw + sTime + nonce;
return hex_sha1(psw);
}
如果再用这种方式登录时,会一直转到login页面,而无法获取uniqueid,导致后面大部分操作都是神话。为此特别花了两天时间来研究新的验证算法。首先下载login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.2) 废话,看了下代码,登录过程的加密算法都在里面了。rsa算法看起来好复杂,不过我很快找到了入口点var sPsw= [st, nc].join("\t") + "\n" + psw;
var rsaKey=new sinaSSOEncoder.RSAKey();
rsaKey.setPublic(pb,key);研究了一段时间后,试着自己生成p,由于每次结果都不一样,不好测试,只能提交登录看情况了,结果每次登录都是直接跳转login页。用自己写的rsa申请qq号又非常成功,(腾讯申请qq过程也是用了rsa算法)折腾了好久,后来发现是自己把一个字每打错了,唉,两天就花在这个字母上了。 现在好了,应该新浪不会再无聊地改这个了吧。
byError 网络科技 q:302777528
评论已关闭