微博分享给qq好友代码他不能看得登陆

QQ号登陆的新浪微博好友能看到吗_百度知道
QQ号登陆的新浪微博好友能看到吗
我有更好的答案
其他类似问题
为您推荐:
新浪微博的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁下次自动登录
现在的位置:
& 综合 & 正文
使用share SDK实现腾讯微博授权登录分享(1.x版本)
操作步骤:
1、在share官网注册应用生成AppKey并下载SDK
2、在腾讯微博平台注册应用生成AppId和AppKey
3、导入SDK包。只实现腾讯微博授权登录分享的话只需要导入ShareSDK-Core.jar(核心包)、ShareSDK-TencentWeibo.jar(腾讯微博)、cn.sharesdk.onekeyshare.jar(快捷分享)
4、配置:需要配置AndroidManifest.xml和assets里面的ShareSDKDevInfor.xml和(后面有示例介绍)
5、添加实现登录、获取信息、分享等功能(见下面示例)。
ShareSDKDevInfor.xml:
AndroidManifest.xml:
登录LoginActivity:
主界面MainActivity:
显示信息ShowInfoActivity:
工具类JsonUtils:
login.xml:
main.xml:
show_info.xml:
&&&&推荐文章:
【上篇】【下篇】>问:不少人喜欢玩腾讯微博,有事没事都会写点儿什么通过微博发送出去,微博内容不仅能被众多&听众&看到,而且微博动态还会实时显示在QQ好友QQ空间的个人中心主页中,只要是好友就都能看到自己更新的微博内容。有些朋友会感觉这样不错,扩大了个人微博的受众范围。但有的朋友估计就不是很喜欢了,因为发表微博只想让与自己关系较好的&听众&看到,不想那么张扬微博内容。该如何实现呢?答:如果你也有如此想法,其实可以按如下方法来更改设置。首先进入自己QQ空间个人中心主页,点击窗口左侧的&腾讯微博&标签,然后单击右上方的&微博设置&链接,这时窗口中央会打开&微博设置&对话框,接着点击&其他设置&选项卡,最后在稍下方找到&隐私设置&栏,并将&把我的微博更新展示给QQ好友(提示:该功能适用于QQ2010正式版SP2及以上版本)&该项复选框取消勾选,点击&保存&按钮退出即可。不过有一点大家需要注意的是,该复选框取消勾选之后,你的微博更新以后不仅不会出现在QQ好友的个人中心主页中,在会话窗口、好友列表及迷你资料卡上,QQ好友同样不会看到你微博更新的内容。&
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
上一篇:下一篇:
相关经验教程
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.002 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益you have been blocked2015腾讯微博登陆解密基于httpclient抓包模拟登陆
由于以前做了一个用httpclient模拟用户登陆腾讯微博的一个小东西。最近用的时候,发现微博不能登陆发送了。发现腾讯登陆的加密方式更改了。所以就从新去更改了一下接口。在此把代码贴出来,记录一下自己,也希望网上有需要的同学可以参考参考。好了。现在开始:
1.登陆的时候会进入腾讯微博的登陆界面。从查看源码会发现有这也一段代码//pt iframe的url地址
"https://xui./cgi-bin/xlogin?appid=&style=23&lang=&low_login=1&hide_border=1&hide_title_bar=1&hide_close_icon=1&border_radius=1&self_regurl=http://reg./index.php&proxy_url=/proxy_t.html&s_url=&daid=6";
document.getElementByIdx_x('login_div').src =
&通过这段代码我们会发现腾讯的登陆界面是嵌入到ifram中的。根据里面的url地址复制到浏览器上面可以看到腾讯的登陆框页面出来了。
2.现在我们把登陆页面的所有代码全部copy出来。会有以下样子的结构
打开c_login_2.js就会发现里面会有腾讯对登陆用户的密码进行加密的js方法。通过阅读里面的js主要发现腾讯吧密码进行了RSA的方式进行加密,主要调用的方法就是getEncryption()这个方法,传入的值相应的是password,账号,验证码。这样通过加密后可以获取到腾讯对用户输入的密码加密后密文。
3.基于httpclient的模拟登陆:
public boolean ready(String uin, String p)
throws Exception {
super.ready(uin, p); & //uin为qq号,p为密码
boolean ready =
String url =
"https://xui./cgi-bin/xlogin?appid=&style=23&lang=&low_login=1&hide_border=1&hide_title_bar=1&hide_close_icon=1&border_radius=1&self_regurl=http://reg./index.php&proxy_url=/proxy_t.html&s_url=&daid=6";
& //通过这个url获取腾讯返回的参数
Header[] headers = new BasicHeader[] {
new BasicHeader(HttpHeaders.HOST, "xui.")
String entity = HttpClientUtils.get(client, url,
Document document = Jsoup.parse(entity);
Element headElement =
document.getElementsByTag("head").first();
Element element =
headElement.getElementsByTag("script").first();
String script = element.html();
if(script.indexOf("" //安全参数 请求带上")!=-1){
& &script=script.replace(""
//安全参数 请求带上", "");
&//获取login_sig的值,后面需要带上url传入
String login_sig = script.substring(
script.indexOf("login_sig:"") + 11,
script.indexOf(",clientip"));
entity = HttpClientUtils.get(
"https://ssl./check?regmaster=&uin=" +
"&appid=&js_ver=10080&js_type=1&login_sig="
+ login_sig.trim() + "&u1=&r="
+ Math.random());
<(entity);
//获取验证码的cookie的值
String cookie="";
String[] checkNum = entity
.substring(entity.indexOf("(") + 1,
entity.lastIndexOf(")"))
.replace("'", "").split(",");
String hasVc = checkNum[0];
String vc = checkNum[1];
String salt = checkNum[2];
if ("0".equals(hasVc)) {
} else if ("1".equals(hasVc)) {
url = "https://ssl./getimage?uin=" + uin
+ "&aid=&cap_cd=" + vc + "&" +
Math.random();
byte[] imageBytes = HttpClientUtils.getImage(client,
cookie = HttpClientUtils.getCookie(client,
"verifysession");
vc = //此处填写验证码的值,由于本人程序通过接口获取。各位需要的在此处填写验证码就可以了
String pass = "";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine =
manager.getEngineByName("javascript");
FileReader &in = new FileReader
("F:/nhcx/ylyd/src/com/wolf/weibo/httpclient/tencent.js");//tencent.js是加密js,后面会公布
//Reader in = new
InputStreamReader(getClass().getResourceAsStream("tecncet2.js"));
engine.eval_r(in);
if (engine instanceof Invocable) {
Invocable invoke = (Invocable)
// 调用preprocess方法,并传入两个参数密码和验证码
invoke.invokeFunction("getEncryption",p,uin,vc).toString();
& //调用加密js的方法,第一个p为密码,uin为QQ号,vc为验证码
<("p=" + pass); &//等到加密后的密文
https://ssl./login?u=&verifycode=akkn&p=DED158B323D685DA98C0F3C3BE0768FE&pt_rsa=0&u1=&ptredirect=1&h=1&t=1&g=1&from_ui=1&ptlang=2052&action=3-17-9&js_ver=10080&js_type=1&login_sig=d609t--Siqso*cNuFN0c9xaMH71D4f6XYEEPBAxcR1ftozE4dgxf2AF3KVkaGPzI&pt_uistyle=23&low_login_enable=1&low_login_hour=720&aid=&daid=6&
headers = new BasicHeader[] {
new BasicHeader(
HttpHeaders.REFERER,
"https://xui./cgi-bin/xlogin?appid=&style=23&lang=&low_login=1&hide_border=1&hide_title_bar=1&hide_close_icon=1&border_radius=1&self_regurl=http://reg./index.php&proxy_url=/proxy_t.html&s_url=&daid=6"),
new BasicHeader(HttpHeaders.HOST, "ssl.")
entity = HttpClientUtils.get(
"https://ssl./login?u="+uin+
&"&verifycode="+vc+
&"&pt_vcode_v1=0"+
&"&pt_verifysession_v1="+cookie+
& &"&p="+pass+
&"&pt_randsalt=0"+
&"&ptredirect=1"+
& &"&h=1"+
& &"&t=1"+
& &"&g=1"+
& &"&from_ui=1"+
& &"&ptlang=2052"+
&"&action=5-8-5"+
&"&js_ver=10117"+
& &"&js_type=1"+
&"&login_sig="+login_sig.trim()+
&"&pt_uistyle=23"+
&"&low_login_enable=1"+
&"&low_login_hour=720"+
&"&aid=&daid=6&",
<(entity);
String[] str = entity
.substring(entity.indexOf("(") + 1,
entity.lastIndexOf(")"))
.replace("'", "").split(",");
if (str[0].equals("0")) {
headers = new BasicHeader[] { new
BasicHeader(HttpHeaders.HOST,
"ptlogin4.") };
<(str[2]);
entity = HttpClientUtils.get(client, str[2], headers);
throw new LoginException(str[4]);
//tencent.js源码
var window = window || {};
var navigator = navigator|| {};
$ = window.$ || {};
$.RSA = function () {
function g(z, t) {
return new ar(z, t)
function ah(aA, aB) {
var t = '';
var z = 0;
while (z + aB & aA.length) {
t += aA.substring(z, z + aB) + '\n';
return t + aA.substring(z, aA.length)
function r(t) {
if (t & 16) {
return '0' + t.toString(16)
return t.toString(16)
function af(aB, aE) {
if (aE & aB.length + 11) {
uv_alert('Message too long for RSA');
return null
var aD = new Array();
var aA = aB.length - 1;
while (aA &= 0 && aE & 0) {
var aC = aB.charCodeAt(aA--);
aD[--aE] = aC
aD[--aE] = 0;
var z = new ad();
var t = new Array();
while (aE & 2) {
while (t[0] == 0) {
z.nextBytes(t)
aD[--aE] = t[0]
aD[--aE] = 2;
aD[--aE] = 0;
return new ar(aD)
function L() {
this.e = 0;
this.dmp1 =
this.dmq1 =
this.coeff = null
function o(z, t) {
if (z != null && t != null && z.length & 0
&& t.length & 0) {
this.n = g(z, 16);
this.e = parseInt(t, 16)
uv_alert('Invalid RSA public key')
function W(t) {
return t.modPowInt(this.e, this.n)
function p(aA) {
var t = af(aA, (this.n.bitLength() + 7) && 3);
if (t == null) {
return null
var aB = this.doPublic(t);
if (aB == null) {
return null
var z = aB.toString(16);
if ((z.length & 1) == 0) {
return '0' + z
L.prototype.doPublic = W;
L.prototype.setPublic =
L.prototype.encrypt =
var ai = 590;
var Z = ((ai & ) == );
function ar(z, t, aA) {
if (z != null) {
if ('number' == typeof z) {
this.fromNumber(z, t, aA)
if (t == null && 'string' != typeof z) {
& & this.fromString(z,
& & this.fromString(z,
function h() {
return new ar(null)
function b(aC, t, z, aB, aE, aD) {
while (--aD &= 0) {
var aA = t * this[aC++] + z[aB] + aE;
aE = Math.floor(aA / );
z[aB++] = aA &
function ay(aC, aH, aI, aB, aF, t) {
var aE = aH & 32767,
aG = aH && 15;
while (--t &= 0) {
var aA = this[aC] & 32767;
var aD = this[aC++] && 15;
var z = aG * aA + aD * aE;
aA = aE * aA + ((z & 32767) && 15) + aI[aB] + (aF
aF = (aA &&& 30) + (z &&& 15) + aG * aD +
(aF &&& 30);
aI[aB++] = aA &
function ax(aC, aH, aI, aB, aF, t) {
var aE = aH & 16383,
aG = aH && 14;
while (--t &= 0) {
var aA = this[aC] & 16383;
var aD = this[aC++] && 14;
var z = aG * aA + aD * aE;
aA = aE * aA + ((z & 16383) && 14) + aI[aB] +
aF = (aA && 28) + (z && 14) + aG * aD;
aI[aB++] = aA &
if (Z && (navigator.appName == 'Microsoft Internet
Explorer')) {
ar.prototype.am =
if (Z && (navigator.appName != 'Netscape')) {
ar.prototype.am =
ar.prototype.am =
ar.prototype.DB =
ar.prototype.DM = ((1 && aw) - 1);
ar.prototype.DV = (1 && aw);
var aa = 52;
ar.prototype.FV = Math.pow(2, aa);
ar.prototype.F1 = aa -
ar.prototype.F2 = 2 * aw -
var ae = 'abcdefghijklmnopqrstuvwxyz';
var ag = new Array();
ap = '0'.charCodeAt(0);
for (v = 0; v &= 9; ++v) {
ag[ap++] = v
ap = 'a'.charCodeAt(0);
for (v = 10; v & 36; ++v) {
ag[ap++] = v
ap = 'A'.charCodeAt(0);
for (v = 10; v & 36; ++v) {
ag[ap++] = v
function az(t) {
return ae.charAt(t)
function A(z, t) {
var aA = ag[z.charCodeAt(t)];
return (aA == null) ? - 1 : aA
function Y(z) {
for (var t = this.t - 1; t &= 0; --t) {
z[t] = this[t]
z.t = this.t;
z.s = this.s
function n(t) {
this.t = 1;
this.s = (t & 0) ? - 1 : 0;
if (t & 0) {
this[0] = t
if (t & - 1) {
this[0] = t + DV
this.t = 0
function c(t) {
var z = h();
z.fromInt(t);
function w(aE, z) {
if (z == 16) {
if (z == 8) {
if (z == 256) {
& & aB = 8
& & if (z == 2) {
& & } else {
& if (z == 32) {
& & & aB =
& } else {
& & & if (z ==
& & aB = 2
& & & } else
& & this.fromRadix(aE, z);
& & return
this.t = 0;
this.s = 0;
var aD = aE.length,
aA = false,
while (--aD &= 0) {
var t = (aB == 8) ? aE[aD] & 255 : A(aE, aD);
if (t & 0) {
if (aE.charAt(aD) == '-') {
& & aA = true
if (aC == 0) {
this[this.t++] = t
if (aC + aB & this.DB) {
& & this[this.t - 1] |= (t
& ((1 && (this.DB - aC)) - 1)) && aC;
& & this[this.t++] = (t
&& (this.DB - aC))
& & this[this.t - 1] |= t
if (aC &= this.DB) {
aC -= this.DB
if (aB == 8 && (aE[0] & 128) != 0) {
this.s = - 1;
if (aC & 0) {
this[this.t - 1] |= ((1 && (this.DB - aC)) - 1) &&
this.clamp();
ar.ZERO.subTo(this, this)
function O() {
var t = this.s & this.DM;
while (this.t & 0 && this[this.t - 1] == t) {
function q(z) {
if (this.s & 0) {
return '-' + this.negate().toString(z)
if (z == 16) {
if (z == 8) {
if (z == 2) {
& & aA = 1
& & if (z == 32) {
& & } else {
& if (z == 4) {
& & & aA =
& } else {
& & & return
this.toRadix(z)
var aC = (1 && aA) - 1,
t = false,
aB = this.t;
var aE = this.DB - (aB * this.DB) % aA;
if (aB-- & 0) {
if (aE & this.DB && (aF = this[aB] && aE)
aD = az(aF)
while (aB &= 0) {
if (aE & aA) {
& & aF = (this[aB] & ((1
&& aE) - 1)) && (aA - aE);
& & aF |= this[--aB]
&& (aE += this.DB - aA)
& & aF = (this[aB] &&
(aE -= aA)) & aC;
& & if (aE &= 0) {
& aE += this.DB;
if (aF & 0) {
& & t = true
& & aD += az(aF)
return t ? aD : '0'
function R() {
var t = h();
ar.ZERO.subTo(this, t);
function al() {
return (this.s & 0) ? this.negate() &:
function G(t) {
var aA = this.s - t.s;
if (aA != 0) {
var z = this.t;
aA = z - t.t;
if (aA != 0) {
while (--z &= 0) {
if ((aA = this[z] - t[z]) != 0) {
function j(z) {
var aB = 1,
if ((aA = z &&& 16) != 0) {
if ((aA = z && 8) != 0) {
if ((aA = z && 4) != 0) {
if ((aA = z && 2) != 0) {
if ((aA = z && 1) != 0) {
function u() {
if (this.t &= 0) {
return this.DB * (this.t - 1) + j(this[this.t - 1] ^ (this.s
& this.DM))
function aq(aA, z) {
for (t = this.t - 1; t &= 0; --t) {
z[t + aA] = this[t]
for (t = aA - 1; t &= 0; --t) {
z.t = this.t + aA;
z.s = this.s
function X(aA, z) {
for (var t = aA; t & this.t; ++t) {
z[t - aA] = this[t]
z.t = Math.max(this.t - aA, 0);
z.s = this.s
function s(aF, aB) {
var z = aF % this.DB;
var t = this.DB -
var aD = (1 && t) - 1;
var aC = Math.floor(aF / this.DB),
aE = (this.s && z) & this.DM,
for (aA = this.t - 1; aA &= 0; --aA) {
aB[aA + aC + 1] = (this[aA] && t) | aE;
aE = (this[aA] & aD) && z
for (aA = aC - 1; aA &= 0; --aA) {
aB[aA] = 0
aB[aC] = aE;
aB.t = this.t + aC + 1;
aB.s = this.s;
aB.clamp()
function l(aE, aB) {
aB.s = this.s;
var aC = Math.floor(aE / this.DB);
if (aC &= this.t) {
var z = aE % this.DB;
var t = this.DB -
var aD = (1 && z) - 1;
aB[0] = this[aC] &&
for (var aA = aC + 1; aA & this.t; ++aA) {
aB[aA - aC - 1] |= (this[aA] & aD) &&
aB[aA - aC] = this[aA] && z
if (z & 0) {
aB[this.t - aC - 1] |= (this.s & aD) && t
aB.t = this.t - aC;
aB.clamp()
function ab(z, aB) {
var aA = 0,
t = Math.min(z.t, this.t);
while (aA & t) {
aC += this[aA] - z[aA];
aB[aA++] = aC & this.DM;
aC &&= this.DB
if (z.t & this.t) {
aC -= z.s;
while (aA & this.t) {
aC += this[aA];
aB[aA++] = aC & this.DM;
aC &&= this.DB
aC += this.s
aC += this.s;
while (aA & z.t) {
aC -= z[aA];
aB[aA++] = aC & this.DM;
aC &&= this.DB
aB.s = (aC & 0) ? - 1 : 0;
if (aC & - 1) {
aB[aA++] = this.DV + aC
if (aC & 0) {
aB[aA++] = aC
aB.t = aA;
aB.clamp()
function D(z, aB) {
var t = this.abs(),
aC = z.abs();
var aA = t.t;
aB.t = aA + aC.t;
while (--aA &= 0) {
aB[aA] = 0
for (aA = 0; aA & aC.t; ++aA) {
aB[aA + t.t] = t.am(0, aC[aA], aB, aA, 0, t.t)
aB.clamp();
if (this.s != z.s) {
ar.ZERO.subTo(aB, aB)
function Q(aA) {
var t = this.abs();
var z = aA.t = 2 * t.t;
while (--z &= 0) {
for (z = 0; z & t.t - 1; ++z) {
var aB = t.am(z, t[z], aA, 2 * z, 0, 1);
if ((aA[z + t.t] += t.am(z + 1, 2 * t[z], aA, 2 * z + 1, aB,
t.t - z - 1)) &= t.DV) {
aA[z + t.t] -= t.DV;
aA[z + t.t + 1] = 1
if (aA.t & 0) {
aA[aA.t - 1] += t.am(z, t[z], aA, 2 * z, 0, 1)
aA.clamp()
function E(aI, aF, aE) {
var aO = aI.abs();
if (aO.t &= 0) {
var aG = this.abs();
if (aG.t & aO.t) {
if (aF != null) {
aF.fromInt(0)
if (aE != null) {
this.copyTo(aE)
if (aE == null) {
var aC = h(),
z = this.s,
aH = aI.s;
var aN = this.DB - j(aO[aO.t - 1]);
if (aN & 0) {
aO.lShiftTo(aN, aC);
aG.lShiftTo(aN, aE)
aO.copyTo(aC);
aG.copyTo(aE)
var aK = aC.t;
var aA = aC[aK - 1];
if (aA == 0) {
var aJ = aA * (1 && this.F1) + ((aK & 1) ? aC[aK - 2]
&& this.F2 : 0);
var aR = this.FV / aJ,
aQ = (1 && this.F1) / aJ,
aP = 1 && this.F2;
var aM = aE.t,
aL = aM - aK,
aD = (aF == null) ? h() &: aF;
aC.dlShiftTo(aL, aD);
if (aE.compareTo(aD) &= 0) {
aE[aE.t++] = 1;
aE.subTo(aD, aE)
ar.ONE.dlShiftTo(aK, aD);
aD.subTo(aC, aC);
while (aC.t & aK) {
aC[aC.t++] = 0
while (--aL &= 0) {
var aB = (aE[--aM] == aA) ? this.DM : Math.floor(aE[aM] * aR +
(aE[aM - 1] + aP) * aQ);
if ((aE[aM] += aC.am(0, aB, aE, aL, 0, aK)) & aB) {
aC.dlShiftTo(aL, aD);
aE.subTo(aD, aE);
while (aE[aM] & --aB) {
& & aE.subTo(aD, aE)
if (aF != null) {
aE.drShiftTo(aK, aF);
if (z != aH) {
ar.ZERO.subTo(aF, aF)
aE.t = aK;
aE.clamp();
if (aN & 0) {
aE.rShiftTo(aN, aE)
if (z & 0) {
ar.ZERO.subTo(aE, aE)
function N(t) {
var z = h();
this.abs().divRemTo(t, null, z);
if (this.s & 0 && z.compareTo(ar.ZERO) & 0)
t.subTo(z, z)
function K(t) {
this.m = t
function V(t) {
if (t.s & 0 || t.compareTo(this.m) &= 0) {
return t.mod(this.m)
function ak(t) {
function J(t) {
t.divRemTo(this.m, null, t)
function H(t, aA, z) {
t.multiplyTo(aA, z);
this.reduce(z)
function au(t, z) {
t.squareTo(z);
this.reduce(z)
K.prototype.convert = V;
K.prototype.revert =
K.prototype.reduce = J;
K.prototype.mulTo = H;
K.prototype.sqrTo =
function B() {
if (this.t & 1) {
var t = this[0];
if ((t & 1) == 0) {
var z = t & 3;
z = (z * (2 - (t & 15) * z)) & 15;
z = (z * (2 - (t & 255) * z)) & 255;
z = (z * (2 - (((t & 65535) * z) & 65535))) &
z = (z * (2 - t * z % this.DV)) % this.DV;
return (z & 0) ? this.DV - z : - z
function f(t) {
this.mp = t.invDigit();
this.mpl = this.mp & 32767;
this.mph = this.mp && 15;
this.um = (1 && (t.DB - 15)) - 1;
this.mt2 = 2 * t.t
function aj(t) {
var z = h();
t.abs().dlShiftTo(this.m.t, z);
z.divRemTo(this.m, null, z);
if (t.s & 0 && z.compareTo(ar.ZERO) & 0) {
this.m.subTo(z, z)
function at(t) {
var z = h();
t.copyTo(z);
this.reduce(z);
function P(t) {
while (t.t &= this.mt2) {
t[t.t++] = 0
for (var aA = 0; aA & this.m.t; ++aA) {
var z = t[aA] & 32767;
var aB = (z * this.mpl + (((z * this.mph + (t[aA] && 15)
* this.mpl) & this.um) && 15)) & t.DM;
z = aA + this.m.t;
t[z] += this.m.am(0, aB, t, aA, 0, this.m.t);
while (t[z] &= t.DV) {
t[z] -= t.DV;
t.clamp();
t.drShiftTo(this.m.t, t);
if (t.compareTo(this.m) &= 0) {
t.subTo(this.m, t)
function am(t, z) {
t.squareTo(z);
this.reduce(z)
function y(t, aA, z) {
t.multiplyTo(aA, z);
this.reduce(z)
f.prototype.convert =
f.prototype.revert =
f.prototype.reduce = P;
f.prototype.mulTo =
f.prototype.sqrTo =
function i() {
return ((this.t & 0) ? (this[0] & 1)
&: this.s) == 0
function x(aF, aG) {
|| aF & 1) {
return ar.ONE
var aE = h(),
aD = aG.convert(this),
aC = j(aF) - 1;
aD.copyTo(aE);
while (--aC &= 0) {
aG.sqrTo(aE, aA);
if ((aF & (1 && aC)) & 0) {
aG.mulTo(aA, aD, aE)
var aB = aE;
return aG.revert(aE)
function an(aA, t) {
if (aA & 256 || t.isEven()) {
aB = new K(t)
aB = new f(t)
return this.exp(aA, aB)
ar.prototype.copyTo = Y;
ar.prototype.fromInt =
ar.prototype.fromString =
ar.prototype.clamp = O;
ar.prototype.dlShiftTo =
ar.prototype.drShiftTo = X;
ar.prototype.lShiftTo =
ar.prototype.rShiftTo =
ar.prototype.subTo =
ar.prototype.multiplyTo = D;
ar.prototype.squareTo = Q;
ar.prototype.divRemTo = E;
ar.prototype.invDigit = B;
ar.prototype.isEven =
ar.prototype.exp =
ar.prototype.toString =
ar.prototype.negate = R;
ar.prototype.abs =
pareTo = G;
ar.prototype.bitLength =
ar.prototype.mod = N;
ar.prototype.modPowInt =
ar.ZERO = c(0);
ar.ONE = c(1);
function d(t) {
U[ac++] ^= t & 255;
U[ac++] ^= (t && 8) & 255;
U[ac++] ^= (t && 16) & 255;
U[ac++] ^= (t && 24) & 255;
if (ac &= M) {
function T() {
d(new Date().getTime())
if (U == null) {
U = new Array();
if (navigator.appName == 'Netscape' &&
navigator.appVersion & '5' && window.crypto &&
window.crypto.random) {
var F = window.crypto.random(32);
for (I = 0; I & F. ++I) {
U[ac++] = F.charCodeAt(I) & 255
while (ac & M) {
I = Math.floor(65536 * Math.random());
U[ac++] = I &&& 8;
U[ac++] = I & 255
function C() {
if (m == null) {
m.init(U);
for (ac = 0; ac & U. ++ac) {
return m.next()
function av(z) {
for (t = 0; t & z. ++t) {
z[t] = C()
function ad() {
ad.prototype.nextBytes =
function k() {
this.i = 0;
this.j = 0;
this.S = new Array()
function e(aC) {
for (aB = 0; aB & 256; ++aB) {
this.S[aB] = aB
for (aB = 0; aB & 256; ++aB) {
z = (z + this.S[aB] + aC[aB % aC.length]) & 255;
aA = this.S[aB];
this.S[aB] = this.S[z];
this.S[z] = aA
this.i = 0;
this.j = 0
function a() {
this.i = (this.i + 1) & 255;
this.j = (this.j + this.S[this.i]) & 255;
z = this.S[this.i];
this.S[this.i] = this.S[this.j];
this.S[this.j] =
return this.S[(z + this.S[this.i]) & 255]
k.prototype.init =
k.prototype.next =
function ao() {
return new k()
var M = 256;
function S(aB, aA, z) {
'F20CE00BAEAE9CEFADA1BA628F64A347F0A8C012BF0B254A30CD92ABFFE7A6EE0DC424CB6166F8819EFA5BCCB20EDFB4AD02E412CCF579B1CA711D55B8B0B3AEB3A2A86F3167DB5D9BADC977CBB804DBDCBA6029AF27DFDDF83C016D928B3CBF4C7';
var t = new L();
t.setPublic(aA, z);
return t.encrypt(aB)
rsa_encrypt: S
var q= window ||{};
(function (q) {
var r = '',
function e() {
return Math.round(Math.random() * )
function i(B, C, y) {
if (!y || y & 4) {
var z = 0;
for (var A = C; A & C + A++) {
return (z & ) &&& 0
function b(z, A, y) {
z[A + 3] = (y && 0) & 255;
z[A + 2] = (y && 8) & 255;
z[A + 1] = (y && 16) & 255;
z[A + 0] = (y && 24) & 255
function v(B) {
var y = '';
for (var z = 0; z & B. z++) {
var A = Number(B[z]).toString(16);
if (A.length == 1) {
A = '0' + A
function u(z) {
var A = '';
for (var y = 0; y & z. y += 2) {
A += String.fromCharCode(parseInt(z.substr(y, 2), 16))
function c(A) {
for (var y = 0; y & A. y++) {
z[y] = A.charCodeAt(y)
return v(z)
function h(A) {
g = new Array(8);
w = new Array(8);
x = t = 0;
var y = A.
var B = 0;
a = (y + 10) % 8;
if (a != 0) {
l = new Array(y + a + 10);
g[0] = ((e() & 248) | a) & 255;
for (var z = 1; z &= z++) {
g[z] = e() & 255
for (var z = 0; z & 8; z++) {
while (B &= 2) {
if (a & 8) {
g[a++] = e() & 255;
if (a == 8) {
var z = 0;
while (y & 0) {
if (a & 8) {
g[a++] = A[z++];
if (a == 8) {
while (B &= 7) {
if (a & 8) {
g[a++] = 0;
if (a == 8) {
function p(C) {
var B = 0;
var z = new Array(8);
var y = C.
if (y % 8 != 0 || y & 16) {
return null
a = w[0] & 7;
B = y - a - 10;
if (B & 0) {
return null
for (var A = 0; A & z. A++) {
l = new Array(B);
var D = 1;
while (D &= 2) {
if (a & 8) {
if (a == 8) {
if (!f()) {
& & return null
var A = 0;
while (B != 0) {
if (a & 8) {
l[A] = (z[t + a] ^ w[a]) & 255;
if (a == 8) {
t = x - 8;
if (!f()) {
& & return null
for (D = 1; D & 8; D++) {
if (a & 8) {
if ((z[t + a] ^ w[a]) != 0) {
& & return null
if (a == 8) {
if (!f()) {
& & return null
function o() {
for (var y = 0; y & 8; y++) {
g[y] ^= w[y]
g[y] ^= l[t + y]
var z = j(g);
for (var y = 0; y & 8; y++) {
l[x + y] = z[y] ^ w[y];
w[y] = g[y]
function j(A) {
var B = 16;
var G = i(A, 0, 4);
var F = i(A, 4, 4);
var I = i(r, 0, 4);
var H = i(r, 4, 4);
var E = i(r, 8, 4);
var D = i(r, 12, 4);
var C = 0;
while (B-- & 0) {
C = (C & ) &&& 0;
G += ((F && 4) + I) ^ (F + C) ^ ((F &&& 5) +
G = (G & ) &&& 0;
F += ((G && 4) + E) ^ (G + C) ^ ((G &&& 5) +
F = (F & ) &&& 0
var K = new Array(8);
b(K, 0, G);
b(K, 4, F);
function k(A) {
var B = 16;
var G = i(A, 0, 4);
var F = i(A, 4, 4);
var I = i(r, 0, 4);
var H = i(r, 4, 4);
var E = i(r, 8, 4);
var D = i(r, 12, 4);
while (B-- & 0) {
F -= ((G && 4) + E) ^ (G + C) ^ ((G &&& 5) +
F = (F & ) &&& 0;
G -= ((F && 4) + I) ^ (F + C) ^ ((F &&& 5) +
G = (G & ) &&& 0;
C = (C & ) &&& 0
var K = new Array(8);
b(K, 0, G);
b(K, 4, F);
function f() {
var y = s.
for (var z = 0; z & 8; z++) {
w[z] ^= s[x + z]
return true
function n(C, B) {
for (var z = 0; z & C. z++) {
A[z] = C.charCodeAt(z) & 255
var y = 0;
for (var z = 0; z & C. z += 2) {
A[y++] = parseInt(C.substr(z, 2), 16)
encrypt: function (B, A) {
var z = n(B, A);
var y = h(z);
return v(y)
enAsBase64: function (D, C) {
var B = n(D, C);
var A = h(B);
var y = '';
for (var z = 0; z & A. z++) {
y += String.fromCharCode(A[z])
return d.encode(y)
decrypt: function (A) {
var z = n(A, false);
var y = p(z);
return v(y)
initkey: function (y, z) {
r = n(y, z)
bytesToStr: u,
strToBytes: c,
bytesInStr: v,
dataFromStr: n
d.PADCHAR = '=';
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/';
d.getbyte = function (A, z) {
var y = A.charCodeAt(z);
if (y & 255) {
throw 'INVALID_CHARACTER_ERR: DOM Exception 5'
d.encode = function (C) {
if (arguments.length != 1) {
throw 'SyntaxError: Not enough arguments'
var z = d.PADCHAR;
var E = d.ALPHA;
var D = d.
C = '' + C;
var A = C.length - C.length % 3;
if (C.length == 0) {
for (B = 0; B & A; B += 3) {
F = (D(C, B) && 16) | (D(C, B + 1) && 8) | D(C, B
y.push(E.charAt(F && 18));
y.push(E.charAt((F && 12) & 63));
y.push(E.charAt((F && 6) & 63));
y.push(E.charAt(F & 63))
switch (C.length - A) {
F = D(C, B) && 16;
y.push(E.charAt(F && 18) + E.charAt((F && 12)
& 63) + z + z);
F = (D(C, B) && 16) | (D(C, B + 1) && 8);
y.push(E.charAt(F && 18) + E.charAt((F && 12)
& 63) + E.charAt((F && 6) & 63) + z);
return y.join('')
}) (window);
var hexcase = 1;
var b64pad = '';
var chrsz = 8;
var mode = 32;
function md5(s) {
return hex_md5(s)
function hex_md5(s) {
return binl2hex(core_md5(str2binl(s), s.length * chrsz))
function str_md5(s) {
return binl2str(core_md5(str2binl(s), s.length * chrsz))
function hex_hmac_md5(key, data) {
return binl2hex(core_hmac_md5(key, data))
function b64_hmac_md5(key, data) {
return binl2b64(core_hmac_md5(key, data))
function str_hmac_md5(key, data) {
return binl2str(core_hmac_md5(key, data))
function core_md5(x, len) {
x[len && 5] |= 128 && ((len) % 32);
x[(((len + 64) &&& 9) && 4) + 14] =
var b = - ;
var c = - ;
for (var i = 0; i & x. i += 16) {
var olda =
var oldb =
var oldc =
var oldd =
a = md5_ff(a, b, c, d, x[i + 0], 7, - );
d = md5_ff(d, a, b, c, x[i + 1], 12, - );
c = md5_ff(c, d, a, b, x[i + 2], 17, );
b = md5_ff(b, c, d, a, x[i + 3], 22, - );
a = md5_ff(a, b, c, d, x[i + 4], 7, - );
d = md5_ff(d, a, b, c, x[i + 5], 12, );
c = md5_ff(c, d, a, b, x[i + 6], 17, - );
b = md5_ff(b, c, d, a, x[i + 7], 22, - );
a = md5_ff(a, b, c, d, x[i + 8], 7, );
d = md5_ff(d, a, b, c, x[i + 9], 12, - );
c = md5_ff(c, d, a, b, x[i + 10], 17, - 42063);
b = md5_ff(b, c, d, a, x[i + 11], 22, - );
a = md5_ff(a, b, c, d, x[i + 12], 7, );
d = md5_ff(d, a, b, c, x[i + 13], 12, - );
c = md5_ff(c, d, a, b, x[i + 14], 17, - );
b = md5_ff(b, c, d, a, x[i + 15], 22, );
a = md5_gg(a, b, c, d, x[i + 1], 5, - );
d = md5_gg(d, a, b, c, x[i + 6], 9, - );
c = md5_gg(c, d, a, b, x[i + 11], 14, );
b = md5_gg(b, c, d, a, x[i + 0], 20, - );
a = md5_gg(a, b, c, d, x[i + 5], 5, - );
d = md5_gg(d, a, b, c, x[i + 10], 9, );
c = md5_gg(c, d, a, b, x[i + 15], 14, - );
b = md5_gg(b, c, d, a, x[i + 4], 20, - );
a = md5_gg(a, b, c, d, x[i + 9], 5, );
d = md5_gg(d, a, b, c, x[i + 14], 9, - );
c = md5_gg(c, d, a, b, x[i + 3], 14, - );
b = md5_gg(b, c, d, a, x[i + 8], 20, );
a = md5_gg(a, b, c, d, x[i + 13], 5, - );
d = md5_gg(d, a, b, c, x[i + 2], 9, - );
c = md5_gg(c, d, a, b, x[i + 7], 14, );
b = md5_gg(b, c, d, a, x[i + 12], 20, - );
a = md5_hh(a, b, c, d, x[i + 5], 4, - 378558);
d = md5_hh(d, a, b, c, x[i + 8], 11, - );
c = md5_hh(c, d, a, b, x[i + 11], 16, );
b = md5_hh(b, c, d, a, x[i + 14], 23, - );
a = md5_hh(a, b, c, d, x[i + 1], 4, - );
d = md5_hh(d, a, b, c, x[i + 4], 11, );
c = md5_hh(c, d, a, b, x[i + 7], 16, - );
b = md5_hh(b, c, d, a, x[i + 10], 23, - );
a = md5_hh(a, b, c, d, x[i + 13], 4, );
d = md5_hh(d, a, b, c, x[i + 0], 11, - );
c = md5_hh(c, d, a, b, x[i + 3], 16, - );
b = md5_hh(b, c, d, a, x[i + 6], 23, );
a = md5_hh(a, b, c, d, x[i + 9], 4, - );
d = md5_hh(d, a, b, c, x[i + 12], 11, - );
c = md5_hh(c, d, a, b, x[i + 15], 16, );
b = md5_hh(b, c, d, a, x[i + 2], 23, - );
a = md5_ii(a, b, c, d, x[i + 0], 6, - );
d = md5_ii(d, a, b, c, x[i + 7], 10, );
c = md5_ii(c, d, a, b, x[i + 14], 15, - );
b = md5_ii(b, c, d, a, x[i + 5], 21, - );
a = md5_ii(a, b, c, d, x[i + 12], 6, );
d = md5_ii(d, a, b, c, x[i + 3], 10, - );
c = md5_ii(c, d, a, b, x[i + 10], 15, - 1051523);
b = md5_ii(b, c, d, a, x[i + 1], 21, - );
a = md5_ii(a, b, c, d, x[i + 8], 6, );
d = md5_ii(d, a, b, c, x[i + 15], 10, - );
c = md5_ii(c, d, a, b, x[i + 6], 15, - );
b = md5_ii(b, c, d, a, x[i + 13], 21, );
a = md5_ii(a, b, c, d, x[i + 4], 6, - );
d = md5_ii(d, a, b, c, x[i + 11], 10, - );
c = md5_ii(c, d, a, b, x[i + 2], 15, );
b = md5_ii(b, c, d, a, x[i + 9], 21, - );
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd)
if (mode == 16) {
return Array(b, c)
return Array(a, b, c, d)
function md5_cmn(q, a, b, x, s, t) {
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x,
t)), s), b)
function md5_ff(a, b, c, d, x, s, t) {
return md5_cmn((b & c) | ((~b) & d), a, b, x, s,
function md5_gg(a, b, c, d, x, s, t) {
return md5_cmn((b & d) | (c & (~d)), a, b, x, s,
function md5_hh(a, b, c, d, x, s, t) {
return md5_cmn(b ^ c ^ d, a, b, x, s, t)
function md5_ii(a, b, c, d, x, s, t) {
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t)
function core_hmac_md5(key, data) {
var bkey = str2binl(key);
if (bkey.length & 16) {
bkey = core_md5(bkey, key.length * chrsz)
var ipad = Array(16),
opad = Array(16);
for (var i = 0; i & 16; i++) {
ipad[i] = bkey[i] ^ ;
opad[i] = bkey[i] ^
var hash = core_md5(ipad.concat(str2binl(data)), 512 +
data.length * chrsz);
return core_md5(opad.concat(hash), 512 + 128)
function safe_add(x, y) {
var lsw = (x & 65535) + (y & 65535);
var msw = (x && 16) + (y && 16) + (lsw &&
return (msw && 16) | (lsw & 65535)
function bit_rol(num, cnt) {
return (num && cnt) | (num &&& (32 -
function str2binl(str) {
var bin = Array();
var mask = (1 && chrsz) - 1;
for (var i = 0; i & str.length * i += chrsz) {
bin[i && 5] |= (str.charCodeAt(i / chrsz) & mask)
&& (i % 32)
return bin
function binl2str(bin) {
var str = '';
var mask = (1 && chrsz) - 1;
for (var i = 0; i & bin.length * 32; i += chrsz) {
str += String.fromCharCode((bin[i && 5] &&& (i
% 32)) & mask)
return str
function binl2hex(binarray) {
var hex_tab = hexcase ? 'ABCDEF' :
var str = '';
for (var i = 0; i & binarray.length * 4; i++) {
str += hex_tab.charAt((binarray[i && 2] && ((i %
4) * 8 + 4)) & 15) + hex_tab.charAt((binarray[i && 2]
&& ((i % 4) * 8)) & 15)
return str
function binl2b64(binarray) {
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/';
var str = '';
for (var i = 0; i & binarray.length * 4; i += 3) {
var triplet = (((binarray[i && 2] && 8 * (i % 4))
& 255) && 16) | (((binarray[i + 1 && 2] && 8
* ((i + 1) % 4)) & 255) && 8) | ((binarray[i + 2 &&
2] && 8 * ((i + 2) % 4)) & 255);
for (var j = 0; j & 4; j++) {
if (i * 8 + j * 6 & binarray.length * 32) {
& & str += b64pad
& & str +=
tab.charAt((triplet && 6 * (3 - j)) & 63)
return str
function hexchar2bin(str) {
var arr = [
for (var i = 0; i & str. i = i + 2) {
arr.push('\\x' + str.substr(i, 2))
arr = arr.join('');
eval_r('var temp = \'' + arr + '\'');
return temp
function __monitor(mid, probability) {
if (Math.random() & (probability || 1)) {
function getEncryption(password, salt, vcode) {
vcode = vcode || '';
salt = uin2hex(salt);
password = password || '';
var md5Pwd = md5(password),
h1 = hexchar2bin(md5Pwd),
s2 = md5(h1 + salt),
rsaH1 = $.RSA.rsa_encrypt(h1),
rsaH1Len = (rsaH1.length / 2).toString(16),
hexVcode = q.TEA.strToBytes(vcode.toUpperCase()),
vcodeLen = '000' + vcode.length.toString(16);
while (rsaH1Len.length & 4) {
rsaH1Len = '0' + rsaH1Len
q.TEA.initkey(s2);
var saltPwd = q.TEA.enAsBase64(rsaH1Len + rsaH1 +
q.TEA.strToBytes(salt) + vcodeLen + hexVcode);
q.TEA.initkey('');
__monitor();
return saltPwd.replace(/[\/\+=]/g, function (a) {
function getRSAEncryption(password, vcode, isMd5) {
var str1 = isMd5 ? password : md5(password);
var str2 = str1 + vcode.toUpperCase();
var str3 = $.RSA.rsa_encrypt(str2);
return str3
function uin2hex(str) {
var maxLength = 16;
var hex = parseInt(str).toString(16);
var len = hex.
for (var i = i & maxL i++) {
hex = '0' + hex
var arr = [
for (var j = 0; j & maxL j += 2) {
arr.push('\\x' + hex.substr(j, 2))
var result = arr.join('');
eval_r('result="' + result + '"');
return result
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 微博qq登陆怎么看好友 的文章

 

随机推荐