腾讯qq微博登录算法公布(webqq,qq空间也一样的)
最新算法:20150729
网上找到的多数是用uin来加密,查了下js代码,显然是不对的!于是自己分析一天,把关键的js代码提取出来了,现把它公布出来,希望能帮到一些人!
byError Q:302777528
var str = new function () {
var htmlDecodeDict = { quot: '"', lt: "<", gt: ">", amp: "&", nbsp: " ", "#34": '"', "#60": "<", "#62": ">", "#38": "&", "#160": " " };
var htmlEncodeDict = { '"': "#34", "<": "#60", ">": "#62", "&": "#38", " ": "#160" };
return {
decodeHtml: function (s) {
s += "";
return s.replace(/&(quot|lt|gt|amp|nbsp);/ig, function (all, key) {
return htmlDecodeDict[key];
}).replace(/&#u([a-f\d]{4});/ig, function (all, hex) {
return String.fromCharCode(parseInt("0x" + hex));
}).replace(/&#(\d+);/ig, function (all, number) {
return String.fromCharCode(+number);
});
},
encodeHtml: function (s) {
s += "";
return s.replace(/["<>& ]/g, function (all) {
return "&" + htmlEncodeDict[all] + ";";
});
}, trim: function (str) {
str += "";
var str = str.replace(/^\s+/, ""), ws = /\s/, end = str.length;
while (ws.test(str.charAt(--end))) {
}
return str.slice(0, end + 1);
}, uin2hex: function (str) {
var maxLength = 16;
str = parseInt(str);
var hex = str.toString(16);
var len = hex.length;
for (var i = len; i < maxLength; i++) {
hex = "0" + hex;
}
var arr = [];
for (var j = 0; j < maxLength; j += 2) {
arr.push("\\x" + hex.substr(j, 2));
}
var result = arr.join("");
eval('result="' + result + '"');
return result;
}, bin2String: function (a) {
var arr = [];[!--empirenews.page--]
for (var i = 0, len = a.length; i < len; i++) {
var temp = a.charCodeAt(i).toString(16);
if (temp.length == 1) {
temp = "0" + temp;
}
arr.push(temp);
}
arr = "0x" + arr.join("");
arr = parseInt(arr, 16);
return arr;
}, utf8ToUincode: function (s) {
var result = "";
try {
var length = s.length;
var arr = [];
for (i = 0; i < length; i += 2) {
arr.push("%" + s.substr(i, 2));
}
result = decodeURIComponent(arr.join(""));
result = $.str.decodeHtml(result);
} catch (e) {
result = "";
}
return result;
}, json2str: function (obj) {
var result = "";
if (typeof JSON != "undefined") {
result = JSON.stringify(obj);
} else {
var arr = [];
for (var i in obj) {
arr.push("'" + i + "':'" + obj[i] + "'");
}
result = "{" + arr.join(",") + "}";
}
return result;
}, time33: function (str) {
var hash = 0;
for (var i = 0, length = str.length; i < length; i++) {
hash = hash * 33 + str.charCodeAt(i);
}
return hash % 4294967296;
}, hash33: function (str) {
var hash = 0;
for (var i = 0, length = str.length; i < length; ++i) {
hash += (hash << 5) + str.charCodeAt(i);[!--empirenews.page--]
}
return hash & 2147483647;
}
};
};
RSA = new function () {
function h(z, t) {
return new au(z, t);
}
function aj(aC, aD) {
var t = "";
var z = 0;
while (z + aD < aC.length) {
t += aC.substring(z, z + aD) + "\n";
z += aD;
}
return t + aC.substring(z, aC.length);
}
function u(t) {
if (t < 16) {
return "0" + t.toString(16);
} else {
return t.toString(16);
}
}
function ah(aD, aG) {
if (aG < aD.length + 11) {
uv_alert("Message too long for RSA");
return null;
}
var aF = new Array();
var aC = aD.length - 1;
while (aC >= 0 && aG > 0) {
var aE = aD.charCodeAt(aC--);
aF[--aG] = aE;
}
aF[--aG] = 0;
var z = new af();
var t = new Array();
while (aG > 2) {
t[0] = 0;
while (t[0] == 0) {
z.nextBytes(t);
}
aF[--aG] = t[0];
}
aF[--aG] = 2;
aF[--aG] = 0;
return new au(aF);
}
function N() {
this.n = null;
this.e = 0;
this.d = null;
this.p = null;
this.q = null;
this.dmp1 = null;
this.dmq1 = null;
this.coeff = null;
}
function q(z, t) {
if (z != null && t != null && z.length > 0 && t.length > 0) {
this.n = h(z, 16);
this.e = parseInt(t, 16);
} else {
uv_alert("Invalid RSA public key");
}
}
function Y(t) {
return t.modPowInt(this.e, this.n);
}
function r(aC) {
var t = ah(aC, (this.n.bitLength() + 7) >> 3);[!--empirenews.page--]
if (t == null) {
return null;
}
var aD = this.doPublic(t);
if (aD == null) {
return null;
}
var z = aD.toString(16);
if ((z.length & 1) == 0) {
return z;
} else {
return "0" + z;
}
}
N.prototype.doPublic = Y;
N.prototype.setPublic = q;
N.prototype.encrypt = r;
var ay;
var ak = 244837814094590;
var ab = ((ak & 16777215) == 15715070);
function au(z, t, aC) {
if (z != null) {
if ("number" == typeof z) {
this.fromNumber(z, t, aC);
} else {
if (t == null && "string" != typeof z) {
this.fromString(z, 256);
} else {
this.fromString(z, t);
}
}
}
}
function j() {
return new au(null);
}
function b(aE, t, z, aD, aG, aF) {
while (--aF >= 0) {
var aC = t * this[aE++] + z[aD] + aG;
aG = Math.floor(aC / 67108864);
z[aD++] = aC & 67108863;
}
return aG;
}
function aA(aE, aJ, aK, aD, aH, t) {
var aG = aJ & 32767, aI = aJ >> 15;
while (--t >= 0) {
var aC = this[aE] & 32767;
var aF = this[aE++] >> 15;
var z = aI * aC + aF * aG;
aC = aG * aC + ((z & 32767) << 15) + aK[aD] + (aH & 1073741823);
aH = (aC >>> 30) + (z >>> 15) + aI * aF + (aH >>> 30);
aK[aD++] = aC & 1073741823;
}
return aH;
}
function az(aE, aJ, aK, aD, aH, t) {
var aG = aJ & 16383, aI = aJ >> 14;
while (--t >= 0) {
var aC = this[aE] & 16383;
var aF = this[aE++] >> 14;
var z = aI * aC + aF * aG;
aC = aG * aC + ((z & 16383) << 14) + aK[aD] + aH;[!--empirenews.page--]
aH = (aC >> 28) + (z >> 14) + aI * aF;
aK[aD++] = aC & 268435455;
}
return aH;
}
if (ab && (navigator.appName == "Microsoft Internet Explorer")) {
au.prototype.am = aA;
ay = 30;
} else {
if (ab && (navigator.appName != "Netscape")) {
au.prototype.am = b;
ay = 26;
} else {
au.prototype.am = az;
ay = 28;
}
}
au.prototype.DB = ay;
au.prototype.DM = ((1 << ay) - 1);
au.prototype.DV = (1 << ay);
var ac = 52;
au.prototype.FV = Math.pow(2, ac);
au.prototype.F1 = ac - ay;
au.prototype.F2 = 2 * ay - ac;
var ag = "0123456789abcdefghijklmnopqrstuvwxyz";
var ai = new Array();
var ar, x;
ar = "0".charCodeAt(0);
for (x = 0; x <= 9; ++x) {
ai[ar++] = x;
}
ar = "a".charCodeAt(0);
for (x = 10; x < 36; ++x) {
ai[ar++] = x;
}
ar = "A".charCodeAt(0);
for (x = 10; x < 36; ++x) {
ai[ar++] = x;
}
function aB(t) {
return ag.charAt(t);
}
function C(z, t) {
var aC = ai[z.charCodeAt(t)];
return (aC == null) ? -1 : aC;
}
function aa(z) {
for (var t = this.t - 1; t >= 0; --t) {
z[t] = this[t];
}
z.t = this.t;
z.s = this.s;
}
function p(t) {
this.t = 1;
this.s = (t < 0) ? -1 : 0;
if (t > 0) {
this[0] = t;
} else {
if (t < -1) {
this[0] = t + DV;
} else {
this.t = 0;
}
}
}
function c(t) {
var z = j();
z.fromInt(t);
return z;
}
function y(aG, z) {
var aD;
if (z == 16) {
aD = 4;
} else {
if (z == 8) {
aD = 3;
} else {[!--empirenews.page--]
if (z == 256) {
aD = 8;
} else {
if (z == 2) {
aD = 1;
} else {
if (z == 32) {
aD = 5;
} else {
if (z == 4) {
aD = 2;
} else {
this.fromRadix(aG, z);
return;
}
}
}
}
}
}
this.t = 0;
this.s = 0;
var aF = aG.length, aC = false, aE = 0;
while (--aF >= 0) {
var t = (aD == 8) ? aG[aF] & 255 : C(aG, aF);
if (t < 0) {
if (aG.charAt(aF) == "-") {
aC = true;
}
continue;
}
aC = false;
if (aE == 0) {
this[this.t++] = t;
} else {
if (aE + aD > this.DB) {
this[this.t - 1] |= (t & ((1 << (this.DB - aE)) - 1)) << aE;
this[this.t++] = (t >> (this.DB - aE));
} else {
this[this.t - 1] |= t << aE;[!--empirenews.page--]
}
}
aE += aD;
if (aE >= this.DB) {
aE -= this.DB;
}
}
if (aD == 8 && (aG[0] & 128) != 0) {
this.s = -1;
if (aE > 0) {
this[this.t - 1] |= ((1 << (this.DB - aE)) - 1) << aE;
}
}
this.clamp();
if (aC) {
au.ZERO.subTo(this, this);
}
}
function Q() {
var t = this.s & this.DM;
while (this.t > 0 && this[this.t - 1] == t) {
--this.t;
}
}
function s(z) {
if (this.s < 0) {
return "-" + this.negate().toString(z);
}
var aC;
if (z == 16) {
aC = 4;
} else {
if (z == 8) {
aC = 3;
} else {
if (z == 2) {
aC = 1;
} else {
if (z == 32) {
aC = 5;
} else {
if (z == 4) {
aC = 2;
} else {
return this.toRadix(z);
}
}
}
}
}
var aE = (1 << aC) - 1, aH, t = false, aF = "", aD = this.t;
var aG = this.DB - (aD * this.DB) % aC;
if (aD-- > 0) {
if (aG < this.DB && (aH = this[aD] >> aG) > 0) {[!--empirenews.page--]
t = true;
aF = aB(aH);
}
while (aD >= 0) {
if (aG < aC) {
aH = (this[aD] & ((1 << aG) - 1)) << (aC - aG);
aH |= this[--aD] >> (aG += this.DB - aC);
} else {
aH = (this[aD] >> (aG -= aC)) & aE;
if (aG <= 0) {
aG += this.DB;
--aD;
}
}
if (aH > 0) {
t = true;
}
if (t) {
aF += aB(aH);
}
}
}
return t ? aF : "0";
}
function T() {
var t = j();
au.ZERO.subTo(this, t);
return t;
}
function an() {
return (this.s < 0) ? this.negate() : this;
}
function I(t) {
var aC = this.s - t.s;
if (aC != 0) {
return aC;
}
var z = this.t;
aC = z - t.t;
if (aC != 0) {
return aC;
}
while (--z >= 0) {
if ((aC = this[z] - t[z]) != 0) {
return aC;
}
}
return 0;
}
function l(z) {
var aD = 1, aC;
if ((aC = z >>> 16) != 0) {
z = aC;
aD += 16;
}
if ((aC = z >> 8) != 0) {
z = aC;
aD += 8;
}[!--empirenews.page--]
if ((aC = z >> 4) != 0) {
z = aC;
aD += 4;
}
if ((aC = z >> 2) != 0) {
z = aC;
aD += 2;
}
if ((aC = z >> 1) != 0) {
z = aC;
aD += 1;
}
return aD;
}
function w() {
if (this.t <= 0) {
return 0;
}
return this.DB * (this.t - 1) + l(this[this.t - 1] ^ (this.s & this.DM));
}
function at(aC, z) {
var t;
for (t = this.t - 1; t >= 0; --t) {
z[t + aC] = this[t];
}
for (t = aC - 1; t >= 0; --t) {
z[t] = 0;
}
z.t = this.t + aC;
z.s = this.s;
}
function Z(aC, z) {
for (var t = aC; t < this.t; ++t) {
z[t - aC] = this[t];
}
z.t = Math.max(this.t - aC, 0);
z.s = this.s;
}
function v(aH, aD) {
var z = aH % this.DB;
var t = this.DB - z;
var aF = (1 << t) - 1;
var aE = Math.floor(aH / this.DB), aG = (this.s << z) & this.DM, aC;
for (aC = this.t - 1; aC >= 0; --aC) {
aD[aC + aE + 1] = (this[aC] >> t) | aG;
aG = (this[aC] & aF) << z;
}
for (aC = aE - 1; aC >= 0; --aC) {
aD[aC] = 0;
}
aD[aE] = aG;
aD.t = this.t + aE + 1;
aD.s = this.s;
aD.clamp();
}
function n(aG, aD) {
aD.s = this.s;
var aE = Math.floor(aG / this.DB);
if (aE >= this.t) {
aD.t = 0;
return;
}
var z = aG % this.DB;
var t = this.DB - z;
var aF = (1 << z) - 1;
aD[0] = this[aE] >> z;
for (var aC = aE + 1; aC < this.t; ++aC) {
aD[aC - aE - 1] |= (this[aC] & aF) << t;
aD[aC - aE] = this[aC] >> z;
}[!--empirenews.page--]
if (z > 0) {
aD[this.t - aE - 1] |= (this.s & aF) << t;
}
aD.t = this.t - aE;
aD.clamp();
}
function ad(z, aD) {
var aC = 0, aE = 0, t = Math.min(z.t, this.t);
while (aC < t) {
aE += this[aC] - z[aC];
aD[aC++] = aE & this.DM;
aE >>= this.DB;
}
if (z.t < this.t) {
aE -= z.s;
while (aC < this.t) {
aE += this[aC];
aD[aC++] = aE & this.DM;
aE >>= this.DB;
}
aE += this.s;
} else {
aE += this.s;
while (aC < z.t) {
aE -= z[aC];
aD[aC++] = aE & this.DM;
aE >>= this.DB;
}
aE -= z.s;
}
aD.s = (aE < 0) ? -1 : 0;
if (aE < -1) {
aD[aC++] = this.DV + aE;
} else {
if (aE > 0) {
aD[aC++] = aE;
}
}
aD.t = aC;
aD.clamp();
}
function F(z, aD) {
var t = this.abs(), aE = z.abs();
var aC = t.t;
aD.t = aC + aE.t;
while (--aC >= 0) {
aD[aC] = 0;
}
for (aC = 0; aC < aE.t; ++aC) {
aD[aC + t.t] = t.am(0, aE[aC], aD, aC, 0, t.t);
}
aD.s = 0;
aD.clamp();
if (this.s != z.s) {
au.ZERO.subTo(aD, aD);
}
}
function S(aC) {
var t = this.abs();
var z = aC.t = 2 * t.t;
while (--z >= 0) {
aC[z] = 0;
}
for (z = 0; z < t.t - 1; ++z) {
var aD = t.am(z, t[z], aC, 2 * z, 0, 1);[!--empirenews.page--]
if ((aC[z + t.t] += t.am(z + 1, 2 * t[z], aC, 2 * z + 1, aD, t.t - z - 1)) >= t.DV) {
aC[z + t.t] -= t.DV;
aC[z + t.t + 1] = 1;
}
}
if (aC.t > 0) {
aC[aC.t - 1] += t.am(z, t[z], aC, 2 * z, 0, 1);
}
aC.s = 0;
aC.clamp();
}
function G(aK, aH, aG) {
var aQ = aK.abs();
if (aQ.t <= 0) {
return;
}
var aI = this.abs();
if (aI.t < aQ.t) {
if (aH != null) {
aH.fromInt(0);
}
if (aG != null) {
this.copyTo(aG);
}
return;
}
if (aG == null) {
aG = j();
}
var aE = j(), z = this.s, aJ = aK.s;
var aP = this.DB - l(aQ[aQ.t - 1]);
if (aP > 0) {
aQ.lShiftTo(aP, aE);
aI.lShiftTo(aP, aG);
} else {
aQ.copyTo(aE);
aI.copyTo(aG);
}
var aM = aE.t;
var aC = aE[aM - 1];
if (aC == 0) {
return;
}
var aL = aC * (1 << this.F1) + ((aM > 1) ? aE[aM - 2] >> this.F2 : 0);
var aT = this.FV / aL, aS = (1 << this.F1) / aL, aR = 1 << this.F2;
var aO = aG.t, aN = aO - aM, aF = (aH == null) ? j() : aH;
aE.dlShiftTo(aN, aF);
if (aG.compareTo(aF) >= 0) {
aG[aG.t++] = 1;
aG.subTo(aF, aG);
}
au.ONE.dlShiftTo(aM, aF);
aF.subTo(aE, aE);
while (aE.t < aM) {
aE[aE.t++] = 0;
}
while (--aN >= 0) {
var aD = (aG[--aO] == aC) ? this.DM : Math.floor(aG[aO] * aT + (aG[aO - 1] + aR) * aS);
if ((aG[aO] += aE.am(0, aD, aG, aN, 0, aM)) < aD) {
aE.dlShiftTo(aN, aF);
aG.subTo(aF, aG);[!--empirenews.page--]
while (aG[aO] < --aD) {
aG.subTo(aF, aG);
}
}
}
if (aH != null) {
aG.drShiftTo(aM, aH);
if (z != aJ) {
au.ZERO.subTo(aH, aH);
}
}
aG.t = aM;
aG.clamp();
if (aP > 0) {
aG.rShiftTo(aP, aG);
}
if (z < 0) {
au.ZERO.subTo(aG, aG);
}
}
function P(t) {
var z = j();
this.abs().divRemTo(t, null, z);
if (this.s < 0 && z.compareTo(au.ZERO) > 0) {
t.subTo(z, z);
}
return z;
}
function M(t) {
this.m = t;
}
function X(t) {
if (t.s < 0 || t.compareTo(this.m) >= 0) {
return t.mod(this.m);
} else {
return t;
}
}
function am(t) {
return t;
}
function L(t) {
t.divRemTo(this.m, null, t);
}
function J(t, aC, z) {
t.multiplyTo(aC, z);
this.reduce(z);
}
function aw(t, z) {
t.squareTo(z);
this.reduce(z);
}
M.prototype.convert = X;
M.prototype.revert = am;
M.prototype.reduce = L;
M.prototype.mulTo = J;
M.prototype.sqrTo = aw;
function D() {
if (this.t < 1) {
return 0;
}
var t = this[0];
if ((t & 1) == 0) {
return 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))) & 65535;
z = (z * (2 - t * z % this.DV)) % this.DV;
return (z > 0) ? this.DV - z : -z;
}
function g(t) {
this.m = t;
this.mp = t.invDigit();
this.mpl = this.mp & 32767;[!--empirenews.page--]
this.mph = this.mp >> 15;
this.um = (1 << (t.DB - 15)) - 1;
this.mt2 = 2 * t.t;
}
function al(t) {
var z = j();
t.abs().dlShiftTo(this.m.t, z);
z.divRemTo(this.m, null, z);
if (t.s < 0 && z.compareTo(au.ZERO) > 0) {
this.m.subTo(z, z);
}
return z;
}
function av(t) {
var z = j();
t.copyTo(z);
this.reduce(z);
return z;
}
function R(t) {
while (t.t <= this.mt2) {
t[t.t++] = 0;
}
for (var aC = 0; aC < this.m.t; ++aC) {
var z = t[aC] & 32767;
var aD = (z * this.mpl + (((z * this.mph + (t[aC] >> 15) * this.mpl) & this.um) << 15)) & t.DM;
z = aC + this.m.t;
t[z] += this.m.am(0, aD, t, aC, 0, this.m.t);
while (t[z] >= t.DV) {
t[z] -= t.DV;
t[++z]++;
}
}
t.clamp();
t.drShiftTo(this.m.t, t);
if (t.compareTo(this.m) >= 0) {
t.subTo(this.m, t);
}
}
function ao(t, z) {
t.squareTo(z);
this.reduce(z);
}
function B(t, aC, z) {
t.multiplyTo(aC, z);
this.reduce(z);
}
g.prototype.convert = al;
g.prototype.revert = av;
g.prototype.reduce = R;
g.prototype.mulTo = B;
g.prototype.sqrTo = ao;
function k() {
return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;
}
function A(aH, aI) {
if (aH > 4294967295 || aH < 1) {
return au.ONE;
}
var aG = j(), aC = j(), aF = aI.convert(this), aE = l(aH) - 1;
aF.copyTo(aG);
while (--aE >= 0) {
aI.sqrTo(aG, aC);
if ((aH & (1 << aE)) > 0) {
aI.mulTo(aC, aF, aG);
} else {
var aD = aG;
aG = aC;
aC = aD;[!--empirenews.page--]
}
}
return aI.revert(aG);
}
function ap(aC, t) {
var aD;
if (aC < 256 || t.isEven()) {
aD = new M(t);
} else {
aD = new g(t);
}
return this.exp(aC, aD);
}
au.prototype.copyTo = aa;
au.prototype.fromInt = p;
au.prototype.fromString = y;
au.prototype.clamp = Q;
au.prototype.dlShiftTo = at;
au.prototype.drShiftTo = Z;
au.prototype.lShiftTo = v;
au.prototype.rShiftTo = n;
au.prototype.subTo = ad;
au.prototype.multiplyTo = F;
au.prototype.squareTo = S;
au.prototype.divRemTo = G;
au.prototype.invDigit = D;
au.prototype.isEven = k;
au.prototype.exp = A;
au.prototype.toString = s;
au.prototype.negate = T;
au.prototype.abs = an;
au.prototype.compareTo = I;
au.prototype.bitLength = w;
au.prototype.mod = P;
au.prototype.modPowInt = ap;
au.ZERO = c(0);
au.ONE = c(1);
var o;
var W;
var ae;
function d(t) {
W[ae++] ^= t & 255;
W[ae++] ^= (t >> 8) & 255;
W[ae++] ^= (t >> 16) & 255;
W[ae++] ^= (t >> 24) & 255;
if (ae >= O) {
ae -= O;
}
}
function V() {
d(new Date().getTime());
}
if (W == null) {
W = new Array();
ae = 0;
var K;
if (navigator.appName == "Netscape" && navigator.appVersion < "5" && window.crypto && window.crypto.random) {
var H = window.crypto.random(32);
for (K = 0; K < H.length; ++K) {
W[ae++] = H.charCodeAt(K) & 255;
}
}
while (ae < O) {
K = Math.floor(65536 * Math.random());
W[ae++] = K >>> 8;
W[ae++] = K & 255;
}
ae = 0;
V();
}
function E() {
if (o == null) {
V();
o = aq();
o.init(W);
for (ae = 0; ae < W.length; ++ae) {
W[ae] = 0;
}[!--empirenews.page--]
ae = 0;
}
return o.next();
}
function ax(z) {
var t;
for (t = 0; t < z.length; ++t) {
z[t] = E();
}
}
function af() {
}
af.prototype.nextBytes = ax;
function m() {
this.i = 0;
this.j = 0;
this.S = new Array();
}
function f(aE) {
var aD, z, aC;
for (aD = 0; aD < 256; ++aD) {
this.S[aD] = aD;
}
z = 0;
for (aD = 0; aD < 256; ++aD) {
z = (z + this.S[aD] + aE[aD % aE.length]) & 255;
aC = this.S[aD];
this.S[aD] = this.S[z];
this.S[z] = aC;
}
this.i = 0;
this.j = 0;
}
function a() {
var z;
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] = z;
return this.S[(z + this.S[this.i]) & 255];
}
m.prototype.init = f;
m.prototype.next = a;
function aq() {
return new m();
}
var O = 256;
function U(aD, aC, z) {
aC = "F20CE00BAE5361F8FA3AE9CEFA495362FF7DA1BA628F64A347F0A8C012BF0B254A30CD92ABFFE7A6EE0DC424CB6166F8819EFA5BCCB20EDFB4AD02E412CCF579B1CA711D55B8B0B3AEB60153D5E0693A2A86F3167D7847A0CB8B00004716A9095D9BADC977CBB804DBDCBA6029A9710869A453F27DFDDF83C016D928B3CBF4C7";
z = "3";
var t = new N();
t.setPublic(aC, z);
return t.encrypt(aD);
}
return { rsa_encrypt: U };
};
testa = new function () {
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));
}[!--empirenews.page--]
function core_md5(x, len) {
x[len >> 5] |= 128 << ((len) % 32);
x[(((len + 64) >>> 9) << 4) + 14] = len;
var a = 1732584193;
var b = -271733879;
var c = -1732584194;
var d = 271733878;
for (var i = 0; i < x.length; i += 16) {
var olda = a;
var oldb = b;
var oldc = c;
var oldd = d;
a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);[!--empirenews.page--]
d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
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);
} else {
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, t);[!--empirenews.page--]
}
function md5_gg(a, b, c, d, x, s, t) {
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
}
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] ^ 909522486;
opad[i] = bkey[i] ^ 1549556828;
}
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 >> 16);
return (msw << 16) | (lsw & 65535);
}
function bit_rol(num, cnt) {
return (num << cnt) | (num >>> (32 - cnt));
}
function str2binl(str) {
var bin = Array();
var mask = (1 << chrsz) - 1;
for (var i = 0; i < str.length * chrsz; 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 ? "0123456789ABCDEF" : "0123456789abcdef";
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) {
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
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++) {[!--empirenews.page--]
if (i * 8 + j * 6 > binarray.length * 32) {
str += b64pad;
} else {
str += tab.charAt((triplet >> 6 * (3 - j)) & 63);
}
}
}
return str;
}
function hexchar2bin(str) {
var arr = [];
for (var i = 0; i < str.length; i = i + 2) {
arr.push("\\x" + str.substr(i, 2));
}
arr = arr.join("");
eval("var temp = '" + arr + "'");
return temp;
}
function __monitor(mid, probability) {
if (Math.random() > (probability || 1)) {
return;
}
try {
var url = location.protocol + "//ui.ptlogin2.qq.com/cgi-bin/report?id=" + mid;
var s = document.createElement("img");
s.src = url;
} catch (e) {
}
}
function testb(password, salt, vcode, isMd5) {
vcode = vcode || "";
password = password || "";
var md5Pwd = isMd5 ? password : md5(password), h1 = hexchar2bin(md5Pwd),
s2 = md5(h1 + salt)
, rsaH1 = RSA.rsa_encrypt(h1),
rsaH1Len = (rsaH1.length / 2).toString(16),
hexVcode = TEA.strToBytes(vcode.toUpperCase(), true), vcodeLen = Number(hexVcode.length / 2).toString(16);
while (vcodeLen.length < 4) {
vcodeLen = "0" + vcodeLen;
}
while (rsaH1Len.length < 4) {
rsaH1Len = "0" + rsaH1Len;
}
TEA.initkey(s2);
var saltPwd = TEA.enAsBase64(rsaH1Len + rsaH1 + TEA.strToBytes(salt) + vcodeLen + hexVcode);
TEA.initkey("");
setTimeout(function () {
__monitor(488358, 1);
}, 0);
return saltPwd.replace(/[\/\+=]/g, function (a) {
return { "/": "-", "+": "*", "=": "_" }[a];
});
}
function getRSAEncryption(password, vcode, isMd5) {
var str1 = isMd5 ? password : md5(password);
var str2 = str1 + vcode.toUpperCase();
var str3 = RSA.rsa_encrypt(str2);[!--empirenews.page--]
return str3;
}
return { testb: testb, getRSAEncryption: getRSAEncryption, md5: md5 };
};
(function (t) {
var u = "", a = 0, h = [], z = [], A = 0, w = 0, o = [], v = [], p = true;
function f() {
return Math.round(Math.random() * 4294967295);
}
function k(E, F, B) {
if (!B || B > 4) {
B = 4;
}
var C = 0;
for (var D = F; D < F + B; D++) {
C <<= 8;
C |= E[D];
}
return (C & 4294967295) >>> 0;
}
function b(C, D, B) {
C[D + 3] = (B >> 0) & 255;
C[D + 2] = (B >> 8) & 255;
C[D + 1] = (B >> 16) & 255;
C[D + 0] = (B >> 24) & 255;
}
function y(E) {
if (!E) {
return "";
}
var B = "";
for (var C = 0; C < E.length; C++) {
var D = Number(E[C]).toString(16);
if (D.length == 1) {
D = "0" + D;
}
B += D;
}
return B;
}
function x(C) {
var D = "";
for (var B = 0; B < C.length; B += 2) {
D += String.fromCharCode(parseInt(C.substr(B, 2), 16));
}
return D;
}
function c(E, B) {
if (!E) {
return "";
}
if (B) {
E = m(E);
}
var D = [];
for (var C = 0; C < E.length; C++) {
D[C] = E.charCodeAt(C);
}
return y(D);
}
function m(E) {
var D, F, C = [], B = E.length;
for (D = 0; D < B; D++) {
F = E.charCodeAt(D);
if (F > 0 && F <= 127) {
C.push(E.charAt(D));
} else {
if (F >= 128 && F <= 2047) {
C.push(String.fromCharCode(192 | ((F >> 6) & 31)), String.fromCharCode(128 | (F & 63)));[!--empirenews.page--]
} else {
if (F >= 2048 && F <= 65535) {
C.push(String.fromCharCode(224 | ((F >> 12) & 15)), String.fromCharCode(128 | ((F >> 6) & 63)), String.fromCharCode(128 | (F & 63)));
}
}
}
}
return C.join("");
}
function j(D) {
h = new Array(8);
z = new Array(8);
A = w = 0;
p = true;
a = 0;
var B = D.length;
var E = 0;
a = (B + 10) % 8;
if (a != 0) {
a = 8 - a;
}
o = new Array(B + a + 10);
h[0] = ((f() & 248) | a) & 255;
for (var C = 1; C <= a; C++) {
h[C] = f() & 255;
}
a++;
for (var C = 0; C < 8; C++) {
z[C] = 0;
}
E = 1;
while (E <= 2) {
if (a < 8) {
h[a++] = f() & 255;
E++;
}
if (a == 8) {
r();
}
}
var C = 0;
while (B > 0) {
if (a < 8) {
h[a++] = D[C++];
B--;
}
if (a == 8) {
r();
}
}
E = 1;
while (E <= 7) {
if (a < 8) {
h[a++] = 0;
E++;
}
if (a == 8) {
r();
}
}
return o;[!--empirenews.page--]
}
function s(F) {
var E = 0;
var C = new Array(8);
var B = F.length;
v = F;
if (B % 8 != 0 || B < 16) {
return null;
}
z = n(F);
a = z[0] & 7;
E = B - a - 10;
if (E < 0) {
return null;
}
for (var D = 0; D < C.length; D++) {
C[D] = 0;
}
o = new Array(E);
w = 0;
A = 8;
a++;
var G = 1;
while (G <= 2) {
if (a < 8) {
a++;
G++;
}
if (a == 8) {
C = F;
if (!g()) {
return null;
}
}
}
var D = 0;
while (E != 0) {
if (a < 8) {
o[D] = (C[w + a] ^ z[a]) & 255;
D++;
E--;
a++;
}
if (a == 8) {
C = F;
w = A - 8;
if (!g()) {
return null;
}
}
}
for (G = 1; G < 8; G++) {
if (a < 8) {
if ((C[w + a] ^ z[a]) != 0) {
return null;
}
a++;
}
if (a == 8) {
C = F;
w = A;[!--empirenews.page--]
if (!g()) {
return null;
}
}
}
return o;
}
function r() {
for (var B = 0; B < 8; B++) {
if (p) {
h[B] ^= z[B];
} else {
h[B] ^= o[w + B];
}
}
var C = l(h);
for (var B = 0; B < 8; B++) {
o[A + B] = C[B] ^ z[B];
z[B] = h[B];
}
w = A;
A += 8;
a = 0;
p = false;
}
function l(B) {
var C = 16;
var H = k(B, 0, 4);
var G = k(B, 4, 4);
var J = k(u, 0, 4);
var I = k(u, 4, 4);
var F = k(u, 8, 4);
var E = k(u, 12, 4);
var D = 0;
var K = 2654435769 >>> 0;
while (C-- > 0) {
D += K;
D = (D & 4294967295) >>> 0;
H += ((G << 4) + J) ^ (G + D) ^ ((G >>> 5) + I);
H = (H & 4294967295) >>> 0;
G += ((H << 4) + F) ^ (H + D) ^ ((H >>> 5) + E);
G = (G & 4294967295) >>> 0;
}
var L = new Array(8);
b(L, 0, H);
b(L, 4, G);
return L;
}
function n(B) {
var C = 16;
var H = k(B, 0, 4);
var G = k(B, 4, 4);
var J = k(u, 0, 4);
var I = k(u, 4, 4);
var F = k(u, 8, 4);
var E = k(u, 12, 4);
var D = 3816266640 >>> 0;
var K = 2654435769 >>> 0;
while (C-- > 0) {
G -= ((H << 4) + F) ^ (H + D) ^ ((H >>> 5) + E);
G = (G & 4294967295) >>> 0;
H -= ((G << 4) + J) ^ (G + D) ^ ((G >>> 5) + I);
H = (H & 4294967295) >>> 0;
D -= K;
D = (D & 4294967295) >>> 0;[!--empirenews.page--]
}
var L = new Array(8);
b(L, 0, H);
b(L, 4, G);
return L;
}
function g() {
var B = v.length;
for (var C = 0; C < 8; C++) {
z[C] ^= v[A + C];
}
z = n(z);
A += 8;
a = 0;
return true;
}
function q(F, E) {
var D = [];
if (E) {
for (var C = 0; C < F.length; C++) {
D[C] = F.charCodeAt(C) & 255;
}
} else {
var B = 0;
for (var C = 0; C < F.length; C += 2) {
D[B++] = parseInt(F.substr(C, 2), 16);
}
}
return D;
}
t.TEA = {
encrypt: function (E, D) {
var C = q(E, D);
var B = j(C);
return y(B);
}, enAsBase64: function (G, F) {
var E = q(G, F);
var D = j(E);
var B = "";
for (var C = 0; C < D.length; C++) {
B += String.fromCharCode(D[C]);
}
return btoa(B);
}, decrypt: function (D) {
var C = q(D, false);
var B = s(C);
return y(B);
}, initkey: function (B, C) {
u = q(B, C);
}, bytesToStr: x, strToBytes: c, bytesInStr: y, dataFromStr: q
};
var d = {};
d.PADCHAR = "=";
d.ALPHA = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
d.getbyte = function (D, C) {
var B = D.charCodeAt(C);
if (B > 255) {
throw "INVALID_CHARACTER_ERR: DOM Exception 5";
}
return B;
};
d.encode = function (F) {
if (arguments.length != 1) {
throw "SyntaxError: Not enough arguments";
}
var C = d.PADCHAR;
var H = d.ALPHA;
var G = d.getbyte;[!--empirenews.page--]
var E, I;
var B = [];
F = "" + F;
var D = F.length - F.length % 3;
if (F.length == 0) {
return F;
}
for (E = 0; E < D; E += 3) {
I = (G(F, E) << 16) | (G(F, E + 1) << 8) | G(F, E + 2);
B.push(H.charAt(I >> 18));
B.push(H.charAt((I >> 12) & 63));
B.push(H.charAt((I >> 6) & 63));
B.push(H.charAt(I & 63));
}
switch (F.length - D) {
case 1:
I = G(F, E) << 16;
B.push(H.charAt(I >> 18) + H.charAt((I >> 12) & 63) + C + C);
break;
case 2:
I = (G(F, E) << 16) | (G(F, E + 1) << 8);
B.push(H.charAt(I >> 18) + H.charAt((I >> 12) & 63) + H.charAt((I >> 6) & 63) + C);
break;
}
return B.join("");
};
if (!window.btoa) {
window.btoa = d.encode;
}
})(window);
//Encryption getEncryption(userid,salt,code);
var pt = {
pageState: 1, login_param: g_href.substring(g_href.indexOf("?") + 1), domain: window.ptui_domain, isHttps: $.check.isHttps(), errTipClock: 0, lang: window.STR_LANG, submit_o: {}, auto_login: false, switch_position_x: 0, touchstartTime: 0, longTouchTime: 500, default_face_url: "", is_qlogin: false, lang_num: window.ptui_lang, action: [0, 0], vcode: "", verifysession: "", deviceType: 2, login_uin: "", login_pwd: "", needAt: "", appid: "", s_url: "", low_login_enable: window.ptui_low_login, style: 9, t_type: 0, t_appid: 46000101, isSubmiting: false, key_interval: 0, keyindex: 19, qqBrowserInfo: null, qqBrowserCallbackTime: 3000, qqBrowserCallbackTimeOut: 0, authInfo: null, authUin: "", authNick: "", authLoginUrl: "", qlogin_list_data: [], checkUrl: "", loginUrl: "", cookieInfo: null, cookieLogin: false, regTmp: '<span id="#uin#" pwd="#pwd#" type="#type#" class="header"> <div id="del_touch_#uin#" class="del_touch_icon" > <span id="del_#uin#" class="del_icon" ></span> </div> <img id="img_#uin#" src="#src#" onerror="pt.face_error();" /> <div id="img_out_#uin#" class="img_out" onclick="pt.clickHeader(event);"></div> <label id="nick_#uin#" class="nick">#nick# </label> </span>', hulianRegTmp: '<div class="useravatar"> <img id="img_#uin#" src="#src#" onerror="pt.face_error();" alt="#nick#" /> </div> <div class="userinfo"> <div class="usernick">#nick#</div> <div class="userqq">#uin#</div> </div> <button id="userSwitch" class="switch" tabindex="5" href="javascript:void(0)";>切换帐号</button>', new_vcode: false, clickEvent: "touchstart", checkErr: { "2052": "网络繁忙,请稍后重试。", "1028": "Wj繁忙,稍後重。", "1033": "The network is busy, please try again later." }, isHulian: window.ptui_style == 35 || window.ptui_style == 36, isInIframe: window.ptui_style == 38, is3gNews: window.ptui_style == 37, isMail: window.ptui_appid == 522005705, lockedAccount: window.ptui_lockuin == 1 ? window.ptui_defuin : "", redirect: function (b, a) {[!--empirenews.page--]
switch (b + "") {
case "0":
if (pt.isInIframe) {
location.replace(a);
} else {
location.href = a;
}
break;
case "1":
top.location.href = a;
break;
default:
top.location.href = a;
}
}, init: function () {
if (pt.hasInit) {
return;
} else {
pt.hasInit = true;
}
pt.default_face_url = pt.isHttps ? "https://ui.ptlogin2.qq.com/style/0/images/1.gif" : "http://imgcache.qq.com/ptlogin/v4/style/0/images/1.gif";
pt.initSURL();
pt.setClickEvent();
if (pt.isHulian) {
pt.showCookieLogin();
} else {
if (!pt.is3gNews) {
pt.build_qlogin_list();
}
pt.initFace();
}
pt.bindEvent();
pt.bindInput();
pt.hideURLBar();
pt.setVcodeFlag();
pt.setUrl();
pt.showAutoLogin();
$.winName.set("login_param", encodeURIComponent(pt.login_param));
pt.checkIframe();
pt.checkPostMessage();
window.setTimeout(function (a) {
if (window.ptui_appid != "549000929") {
pt.webLoginReport();
}
$.report.monitor(412020, 0.05);
if (!navigator.cookieEnabled) {
$.report.monitor(410030);
if ($.cookie.get("ptcz")) {
$.report.monitor(410031);
}
}
}, 2000);
}, setUrl: function () {
pt.checkUrl = (pt.isHttps ? "https://ssl." : "http://check.") + "ptlogin2." + pt.domain + "/check?";[!--empirenews.page--]
pt.loginUrl = (pt.isHttps ? "https://ssl." : "http://") + "ptlogin2." + pt.domain + "/";
if (window.ptui_regmaster == 4) {
pt.checkUrl = "https://ssl.ptlogin2.mail.qq.com/check?";
pt.loginUrl = "https://ssl.ptlogin2.mail.qq.com/";
}
}, ptui_speedReport: function (g) {
var b = "http://isdspeed.qq.com/cgi-bin/r.cgi?flag1=7808&flag2=8";
var h = 1;
if (pt.isHttps) {
h = 2;
} else {
if ($.detectBrowser()[0] == "MQQBrowser") {
var d = navigator.connection;
if (d && d.type) {
var c = d.type;
if (c == 1) {
h = 3;
} else {
if (c == 2) {
h = 4;
} else {
if (c == 3) {
h = 5;
} else {
if (c == 4) {
h = 6;
} else {
if (c == 5) {
h = 7;
} else {
h = 8;
}
}[!--empirenews.page--]
}
}
}
} else {
h = 8;
}
} else {
h = 1;
}
}
b += "&flag3=" + h;
for (var f in g) {
if (g[f] > 15000 || g[f] < 0) {
continue;
}
b += "&" + f + "=" + (g[f] || 1);
}
var a = new Image();
a.src = b;
}, webLoginReport: function () {
try {
if (Math.random() > 0.2 && $.detectBrowser()[0] != "MQQBrowser") {
return;
}
var d = ["navigationStart", "unloadEventStart", "unloadEventEnd", "redirectStart", "redirectEnd", "fetchStart", "domainLookupStart", "domainLookupEnd", "connectStart", "connectEnd", "requestStart", "responseStart", "responseEnd", "domLoading", "domInteractive", "domContentLoadedEventStart", "domContentLoadedEventEnd", "domComplete", "loadEventStart", "loadEventEnd"];
var h = {};
var c = window.performance ? window.performance.timing : null;
if (c) {
var j = c[d[0]];
var b = 1;
for (var a = d.length; b < a; b++) {
if (c[d[b]]) {
h[b] = c[d[b]] - j;
}
}
if (loadJs && loadJs.onloadTime) {
h[b++] = loadJs.onloadTime - j;
}
var f = c.connectEnd >= c.connectStart && c.responseEnd >= c.responseStart && c.domComplete >= c.domInteractive && c.domInteractive >= c.domLoading && c.loadEventStart >= c.domComplete && c.loadEventEnd >= c.loadEventStart;
if (f) {[!--empirenews.page--]
pt.ptui_speedReport(h);
}
}
} catch (g) {
}
}, setClickEvent: function () {
var a = !/iphone|ipad|android/.test(navigator.userAgent.toLowerCase());
pt.clickEvent = "click";
}, saveLastUin: function (a) {
$.localStorage.set("last_uin", a);
}, getLastUin: function () {
return $.localStorage.get("last_uin");
}, object2param: function (b) {
var a = [];
for (var c in b) {
a.push(c + "=" + b[c] + "&");
}
return a.join("");
}, showErr: function (a, c) {
clearTimeout(pt.errTipClock);
var b = 3000;
if ((typeof c).toLocaleLowerCase() == "number") {
b = parseInt(c, 10);
c = null;
}
$("error_message").innerHTML = a;
$.css.show("error_tips");
if (pt.isHulian) {
pt.errTipClock = setTimeout(function () {
pt.hideErr(c);
}, b);
} else {
c && c();
pt.errTipClock = setTimeout(function () {
pt.hideErr();
}, b);
}
}, hideErr: function (a) {
$.css.hide("error_tips");
a && a();
}, checkIframe: function () {
try {
if (top != self && !pt.isHulian) {
$.report.nlog("iphone登录框被iframe;referer=" + document.referrer, "347748");
}
} catch (a) {
}
}, checkPostMessage: function () {
if (typeof window.postMessage == "undefined") {
$.report.nlog("iphone登录框不支持postMessage;", "350525");
}
if (typeof window.JSON == "undefined") {
$.report.nlog("iphone登录框不支持JSON;", "362678");
}
}, setVcodeFlag: function () {
if (typeof window.postMessage == "undefined" || typeof window.JSON == "undefined") {
pt.new_vcode = false;
} else {
pt.new_vcode = true;[!--empirenews.page--]
}
}, getAuthUrl: function () {
var a = (pt.isHttps ? "https://ssl." : "http://") + "ptlogin2." + pt.domain + "/pt4_auth?daid=" + window.ptui_daid + "&appid=" + window.ptui_appid + "&auth_token=" + $.str.time33($.cookie.get("supertoken"));
if (window.ptui_pt_qzone_sig == "1") {
a += "&pt_qzone_sig=1";
}
return a;
}, auth: function () {
pt.getParam();
pt.initSURL();
var a = pt.getAuthUrl();
var b = $.cookie.get("superuin");
if (window.ptui_daid && window.ptui_noAuth != "1" && b != "") {
$.http.loadScript(a);
} else {
pt.qqBrowserQlogin();
}
}, showAuth: function (b) {
var c = b.substr(b.indexOf("?") + 1);
var a = c.match(RegExp("(^|&)uin=([^&]*)(&|$)"));
pt.authUin = !a ? "" : decodeURIComponent(a[2]);
pt.authLoginUrl = b;
pt.authNick = $.str.utf8ToUincode($.cookie.get("ptnick_" + pt.authUin)) || pt.authUin;
if (pt.authUin) {
pt.authInfo = { uin: $.str.encodeHtml(pt.authUin), nick: $.str.encodeHtml(pt.authNick), authUrl: pt.authUrl, type: 3 };
}
}, showCookieLogin: function () {
var b = $.cookie.get("skey");
var c = $.cookie.uin();
var a = $.cookie.get("nick");
if (b && c) {
pt.cookieInfo = { uin: $.str.encodeHtml(c), nick: $.str.encodeHtml($.str.utf8ToUincode($.cookie.get("ptnick_" + c)) || c), skey: b, type: 4 };
return true;
}
return false;
}, qqBrowserQlogin: function () {
try {
if (self === top || MTT.isAndroid) {
MTT.QLogin4PT(pt.qqBrowserCallback);
} else {
pt.init();
}
} catch (a) {
pt.init();
$.report.nlog("快速登录异常,qqBrowserQlogin," + a.message, "276650");
}
}, qqBrowserCallback: function (b) {
window.clearTimeout(pt.qqBrowserCallbackClock);
try {
if (b && typeof b === "string") {
b = JSON.parse(b);
}
if (b && ($.check.isQQ(b.uin) && b.loginkey.length != 0 && b.loginkey.length > 10)) {[!--empirenews.page--]
pt.qqBrowserInfo = {};
pt.qqBrowserInfo.uin = $.str.encodeHtml(b.uin);
pt.qqBrowserInfo.nick = $.str.encodeHtml(b.nickname);
pt.qqBrowserInfo.loginkey = b.loginkey;
pt.qqBrowserInfo.type = 2;
} else {
if (b && b.uin.length == 0) {
$.report.nlog("快速登录异常:数据返回异常,没有uin", "276650");
} else {
if (b && b.loginkey.length == 0) {
$.report.nlog("快速登录异常:数据返回异常,没有loginkey", "276650");
} else {
if (b) {
$.report.nlog("快速登录异常:数据返回异常:" + b.loginkey.length, "276650");
}
}
}
}
} catch (a) {
$.report.nlog("快速登录异常: qqBrowserCallback " + a.message, "276650");
}
pt.init();
}, initSURL: function () {
pt.s_url = $.bom.query("s_url");
if (pt.isMail && pt.low_login_enable == 1) {
pt.s_url = pt.addParamToUrl(pt.s_url, "ss", 1);
}
}, addParamToUrl: function (c, b, d) {
var f = c.split("#");
var a = f[0].indexOf("?") > 0 ? "&" : "?";
if (f[0].substr(f[0].length - 1, 1) == "?") {
a = "";
}
if (f[1]) {
f[1] = "#" + f[1];
} else {
f[1] = "";
}
return f[0] + a + b + "=" + d + f[1];
}, getParam: function () {
pt.appid = window.ptui_appid;
if (pt.isInIframe) {
switch (window.ptui_target) {
case "_self":
pt.target = 0;
break;[!--empirenews.page--]
case "_top":
pt.target = 1;
break;
default:
pt.target = 1;
break;
}
} else {
pt.target = 1;
}
pt.style = window.ptui_style ? window.ptui_style : 9;
}, build_qlogin_list: function () {
var d = pt.get_qlogin_list();
pt.qlogin_list_data = d;
var b = d.length;
if (b > 0) {
pt._switch();
var c = "";
for (var a = 0; a < b; a++) {
if (d[a].uin != "") {
c += pt.regTmp.replace(/#uin#/g, d[a].uin).replace(/#nick#/g, d[a].nick).replace(/#pwd#/g, d[a].pwd).replace(/#type#/g, d[a].type).replace(/#src#/g, pt.default_face_url);
}
}
$("q_logon_list").innerHTML = c;
for (var a = 0; a < b; a++) {
pt.getShortWord($("nick_" + d[a].uin), d[a].nick, 95);
}
$("swicth_login") && ($("swicth_login").style.display = "block");
} else {
$("web_login") && ($("web_login").style.display = "block");
$("swicth_login") && ($("swicth_login").style.display = "none");
}
}, build_hulian_qlogin_list: function (c) {
if (c.nick) {
pt.cookieInfo.nick = $.str.encodeHtml(c.nick);
}
var h = pt.get_qlogin_list();
pt.qlogin_list_data = h;
var a = (c.skey == 1);
var d = h.length;
if (d > 0) {
pt.hideOneKey();
var g = "";
for (var b = 0; b < d; b++) {
var f = h[b];
if (a && !f.skey) {
continue;
}
if (f.uin != "") {[!--empirenews.page--]
g += pt.hulianRegTmp.replace(/#uin#/g, f.uin).replace(/#nick#/g, f.nick).replace(/#type#/g, f.type).replace(/#src#/g, pt.default_face_url);
}
}
setTimeout(function () {
$("q_logon_list").innerHTML = g;
$.css.show($("q_logon_list"));
$.css.hide($("form_outter_wrap"));
pt.cookieLogin = a;
$("userSwitch") && $.e.add($("userSwitch"), "click", function (j) {
pt.showOneKey.ever && pt.showOneKey();
pt.qqBrowserInfo = null;
if (pt.open.authListDone) {
xMsg.call("connect", "userSwitch", {}, function () {
});
pt.cancle_cookielogin();
}
});
}, 0);
}
}, _switch: function () {
if ($("q_login").style.display == "none") {
$("q_login").style.display = "block";
$("web_login").style.display = "none";
$("swicth_login") && ($("swicth_login").innerHTML = $.str.encodeHtml(qlogin_wording));
pt.hideURLBar();
pt.pageState = 2;
} else {
$("q_login").style.display = "none";
$("web_login").style.display = "block";
$("swicth_login") && ($("swicth_login").innerHTML = $.str.encodeHtml(login_wording));
$("u").focus();
pt.pageState = 1;
}
pt.showAutoLogin();
if (pt.isInIframe) {
window.setTimeout(function () {
pt.ptui_notifySize("content");
}, 0);
}
}, vcodeMessage: function (e) {
var origin = e.origin;
if (origin != (pt.isHttps ? "https://ssl." : "http://") + "captcha.qq.com") {[!--empirenews.page--]
$.report.nlog("origin postMessage error:" + origin);
return;
}
var data = e.data;
if (window.JSON) {
data = JSON.parse(data);
} else {
data = eval("(" + data + ")");
}
if (!data.randstr || !data.sig) {
$.report.nlog("vcode postMessage error:" + e.data);
}
pt.submitNewVcode(data);
}, submitEvent: function (a) {
if (!navigator.onLine) {
pt.showErr(STR_LANG.offline);
} else {
pt._timer = setTimeout(function () {
pt.showErr(STR_LANG.offline);
}, 3000);
}
if (pt.isHulian) {
pt.open.getAuthData();
} else {
pt.check(false);
}
}, showOneKey: function () {
$("go").className += " weak";
$("onekey") && $.css.show($("onekey"));
$.report.monitor(414089);
pt.showOneKey.ever = true;
if (pt.isInIframe) {
window.setTimeout(function () {
pt.ptui_notifySize("content");
}, 0);
}
}, hideOneKey: function () {
$("go").className = $("go").className.replace("weak", "");
$("onekey") && $.css.hide($("onekey"));
if (pt.isInIframe) {
window.setTimeout(function () {
pt.ptui_notifySize("content");
}, 0);
}
}, bindEvent: function () {
$.e.add($("go"), pt.clickEvent, pt.submitEvent);
$.e.add($("p"), "keydown", function (f) {
var d = f.keyCode;
if (d == 13) {
pt.submitEvent();
}
});
$.e.add($("u"), "keydown", function (f) {
var d = f.keyCode;
if (d == 13) {
pt.check(false);
}
});[!--empirenews.page--]
var a = navigator.userAgent.toLowerCase(), b = a.match(/micromessenger|qq\/|meizu_m9|IEMobile/i) || pt.s_url.indexOf("http://openmobile.qq.com/api/check") >= 0;
if (!b && $("onekey")) {
if (pt.isHulian) {
pt.open.waiting("authlist", function () {
MTT.canOneKey(function () {
pt.showOneKey();
}, function () {
pt.hideOneKey();
});
});
} else {
if (self === top && MTT.version) {
MTT.canOneKey(function () {
pt.showOneKey();
}, function () {
pt.hideOneKey();
});
} else {
pt.showOneKey();
}
}
$.e.add($("onekey"), pt.clickEvent, function (g) {
var f = pt.loginUrl + "jump?u1=" + encodeURIComponent(pt.s_url) + "&pt_report=1";
if (window.ptui_pt_ttype == "1") {
f += "&pt_ttype=1";
}
if (window.ptui_daid) {
f += ("&daid=" + ptui_daid);
}
if (pt.low_login_enable) {
f += "&low_login_enable=1&low_login_hour=" + window.ptui_low_login_hour;
}
var d = $.detectBrowser()[0];
if (d) {
f += "&pt_ua=" + $.Encryption.md5(a);
f += "&pt_browser=" + d;
}[!--empirenews.page--]
$.report.monitor(414090);
if (pt.isHulian) {
pt.open.waiting("authdata", function () {
if (window.ptui_pt_3rd_aid) {
f += "&pt_3rd_aid=" + window.ptui_pt_3rd_aid;
}
if (pt.submit_o.openlogin_data) {
f += "&pt_openlogin_data=" + pt.submit_o.openlogin_data;
}
OneKey("wtloginmqq://ptlogin/qlogin?p=" + encodeURIComponent(f));
});
} else {
OneKey("wtloginmqq://ptlogin/qlogin?p=" + encodeURIComponent(f));
}
});
} else {
pt.hideOneKey();
}
$("show_pwd") && $.e.add($("show_pwd"), "change", function (f) {
var d = $("p");
if (this.checked) {
d.setAttribute("type", "text");
} else {
d.setAttribute("type", "password");
}
});
$("forgetpwd") && $.e.add($("forgetpwd"), pt.clickEvent, function (g) {
var f = $("u") && $("u").value;
var d = "http://ptlogin2.qq.com/j_findpwd_url?ptlang=" + pt.lang_num;
if (pt.lang_num != "1033") {
d += "&account=" + f;
}
window.open(d);
});
$.e.add(window, "orientationchange", function (d) {
pt.hideURLBar(d);
});
$.e.add(window, "message", function (d) {
if (d.data && d.origin && d.data.toLowerCase().indexOf("x-msg://") == 0 && d.origin == "http://openmobile.qq.com") {
return;[!--empirenews.page--]
}
pt.vcodeMessage(d);
});
if (pt.isMail) {
var c = $("remember");
if (!c) {
return;
}
$.e.add(c, "change", function () {
if (c.checked) {
pt.s_url = pt.addParamToUrl(pt.s_url, "ss", 1);
} else {
pt.s_url = pt.s_url.replace(/&?ss=1/, "");
}
pt.low_login_enable = c.checked ? 1 : 0;
});
}
}, bindInput: function () {
var j = window.ptui_defuin || pt.lockedAccount || pt.getLastUin();
var c = $("u"), k = $("p"), b = $("del_u"), h = $("del_p"), d = $("del_touch"), f = $("del_touch_p");
if (j) {
c.value = c.value || j;
}
if (pt.lockedAccount) {
d.parentNode.removeChild(d);
b = null;
d = null;
c.readOnly = true;
k.focus();
}
var a = function () {
if (!b) {
return;
}
if (c.value != "") {
$.css.show(b);
} else {
$.css.hide(b);
}
};
var g = function () {
if (k.value != "") {
$.css.show(h);
} else {
$.css.hide(h);
}
var l = 0;
if (k.selectionStart || k.selectionStart == "0") {
l = Math.max(k.selectionStart, k.selectionEnd);
}
if (window.openSDK && window.openSDK.curPosFromJS) {
window.openSDK.curPosFromJS(l);[!--empirenews.page--]
}
};
$.e.add(k, "focus", function (l) {
if (this.value != "") {
$.css.show(h);
}
if (window.openSDK && window.openSDK.isPasswordEdit) {
window.openSDK.isPasswordEdit(1);
}
});
$.e.add(k, "blur", function (l) {
if (this.value == "") {
$.css.hide(h);
}
if (window.openSDK && window.openSDK.isPasswordEdit) {
window.openSDK.isPasswordEdit(0);
}
});
$.e.add(k, "input", function (l) {
window.setTimeout(function () {
g();
}, 0);
});
$.e.add(c, "focus", function (l) {
if (b && this.value != "") {
$.css.show(b);
}
});
$.e.add(c, "blur", function (l) {
if (/^\+/.test(this.value)) {
this.value = this.value.replace(/^\+/, "");
if (!/^00/.test(this.value)) {
this.value = "00" + this.value;
}
}
if (this.value == "") {
b && $.css.hide(b);
} else {
pt.checkQQUin(this.value);
}
});
$.e.add(c, "input", function (l) {
a();
});
d && $.e.add(d, "click", function (l) {
l && l.preventDefault();
c.value = "";
c.focus();
b && $.css.hide(b);
});
f && $.e.add(f, "click", function (l) {
l && l.preventDefault();
k.value = "";[!--empirenews.page--]
k.focus();
$.css.hide(h);
});
if (pt.isHulian) {
b && $.e.add(b, "click", function (l) {
l && l.preventDefault();
c.value = "";
c.focus();
$.css.hide(b);
});
h && $.e.add(h, "click", function (l) {
l && l.preventDefault();
k.value = "";
if (window.openSDK && window.openSDK.clearAllEdit) {
window.openSDK.clearAllEdit();
}
window.setTimeout(function () {
k.focus();
}, 100);
$.css.hide(h);
});
}
}, bindVcodeEvent: function () {
$("input_tips") && $.e.add($("input_tips"), "click", function (a) {
$("vcode_input").focus();
$.css.hide("input_tips");
a.stopPropagation();
});
$("vcode_input") && $.e.add($("vcode_input"), "focus", function (a) {
$.css.hide("input_tips");
a.stopPropagation();
});
$("vcode_input") && $.e.add($("vcode_input"), "blur", function (a) {
if (this.value == "") {
$.css.show("input_tips");
}
});
$("vcode_img") && $.e.add($("vcode_img"), "click", function (a) {
$("vcode_input").focus();
$.css.hide("input_tips");
pt.changeCodeImg();
a.stopPropagation();
});
$("submit") && $.e.add($("submit"), "click", function (a) {
pt.submitVcode();
});
}, hideURLBar: function () {
setTimeout(function () {
window.scrollTo(0, 1);[!--empirenews.page--]
}, 0);
}, showAutoLogin: function () {
if (!pt.isMail) {
return;
}
var c = $("auto_login");
if (!c) {
return;
}
var b = $("go");
if (pt.pageState == 1) {
$("web_login").insertBefore(c, b);
} else {
var a = $("q_login");
a.insertBefore(c, a.lastChild);
}
$.css.show(c);
}, addToSet: function (d, f) {
if (!f) {
} else {
var g = f.uin;
var b = true;
for (var a = 0, c = d.length; a < c; a++) {
if (d[a]["uin"] == g) {
b = false;
}
}
if (b) {
d.push(f);
}
}
}, get_qlogin_list: function () {
var a = [];
if (pt.isHulian) {
if (pt.cookieInfo) {
pt.addToSet(a, pt.cookieInfo);
}
} else {
if (pt.authInfo) {
pt.addToSet(a, pt.authInfo);
}
}
if (pt.qqBrowserInfo) {
pt.addToSet(a, pt.qqBrowserInfo);
}
return a;
}, qlogin_submit: function () {
$.report.monitor(259519);
var b = pt.qqBrowserInfo.uin;
var d = pt.qqBrowserInfo.loginkey;
var a = encodeURIComponent(pt.s_url);
var c = pt.loginUrl + "jump?keyindex=" + pt.keyindex + "&clientuin=" + b + "&clientkey=" + d + "&u1=" + a + "&daid=" + window.ptui_daid;
if (window.ptui_pt_qzone_sig == "1") {
c += "&pt_qzone_sig=1";
}
if (window.ptui_pt_ttype == "1") {
c += "&pt_ttype=1";
}
if (window.ptui_pt_light == "1") {
c += "&pt_light=1";[!--empirenews.page--]
}
if (pt.low_login_enable) {
c += "&low_login_enable=1&low_login_hour=" + window.ptui_low_login_hour;
}
if (window.ptui_pt_3rd_aid) {
c += "&pt_3rd_aid=" + window.ptui_pt_3rd_aid;
}
if (pt.submit_o.openlogin_data) {
c += "&pt_openlogin_data=" + pt.submit_o.openlogin_data;
}
if (window.ptui_kf_csimc != "0" && window.ptui_kf_csimc) {
c += "&csimc=" + ptui_kf_csimc;
c += "&csnum=" + ptui_kf_csnum;
c += "&authid=" + ptui_kf_authid;
}
c += "&device=" + pt.deviceType;
c += "&ptopt=1";
$.http.loadScript(c);
}, cookielogin_submit: function () {
var c = pt.cookieInfo.uin;
var a = pt.cookieInfo.skey;
var b = $.str.hash33(a);
pt.submit_o.skey_token = b;
pt.submit("open");
}, cancle_cookielogin: function () {
$.css.show($("form_outter_wrap"));
$.css.hide($("q_logon_list"));
pt.cookieLogin = false;
delete pt.submit_o.skey_token;
$("u").value = "";
}, authlogin_submit: function () {
var a = pt.authLoginUrl;
a += "®master=" + window.ptui_regmaster + "&aid=" + window.ptui_appid + "&s_url=" + encodeURIComponent(pt.s_url);
if (pt.low_login_enable) {
a += "&low_login_enable=1&low_login_hour=" + window.ptui_low_login_hour;
}
if (window.ptui_pt_ttype == "1") {
a += "&pt_ttype=1";
}
if (window.ptui_pt_light == "1") {
a += "&pt_light=1";
}
a += "&device=" + pt.deviceType;
pt.redirect(pt.target, a);
}, submit: function (h) {
var d = "";
var f = "";
if (pt.is_qlogin) {
d = pt.login_uin;
} else {
d = pt.needAt ? pt.needAt : $("u").value;
pt.login_uin = d;
}
if (h) {
pt.submit_o.pt_vcode_v1 = 0;
pt.submit_o.pt_verifysession_v1 = pt.verifysession;
}
pt.submit_o.verifycode = pt.vcode.toUpperCase();[!--empirenews.page--]
pt.submit_o.u = d;
var b = false;
if (window.openSDK && openSDK.md5Pwd && openSDK.result == 0) {
f = openSDK.md5Pwd;
b = true;
} else {
f = $("p").value;
b = false;
}
if (h != "open") {
pt.submit_o.p = $.Encryption.getEncryption(f, pt.salt, pt.submit_o.verifycode, b);
}
pt.submit_o.pt_randsalt = pt.isRandSalt || 0;
pt.submit_o.ptlang = pt.lang_num;
pt.submit_o.low_login_enable = (pt.low_login_enable == 1) ? 1 : 0;
if (pt.submit_o.low_login_enable) {
pt.submit_o.low_login_hour = window.ptui_low_login_hour;
}
pt.submit_o.u1 = encodeURIComponent(pt.s_url);
pt.submit_o.from_ui = 1;
pt.submit_o.fp = "loginerroralert";
pt.submit_o.device = pt.deviceType;
pt.submit_o.aid = pt.appid;
if (window.ptui_daid) {
pt.submit_o.daid = window.ptui_daid;
}
if (window.ptui_pt_qzone_sig == "1") {
pt.submit_o.pt_qzone_sig = 1;
}
if (window.ptui_pt_ttype == "1") {
pt.submit_o.pt_ttype = "1";
}
if (window.ptui_pt_light == "1") {
pt.submit_o.pt_light = "1";
}
if (window.ptui_pt_3rd_aid) {
pt.submit_o.pt_3rd_aid = window.ptui_pt_3rd_aid;
}
pt.submit_o.ptredirect = pt.target;
pt.submit_o.h = 1;
pt.submit_o.g = 1;
pt.submit_o.pt_uistyle = window.ptui_style;
if (window.ptui_kf_csimc != "0" && window.ptui_kf_csimc) {
pt.submit_o.csimc = ptui_kf_csimc;
pt.submit_o.csnum = ptui_kf_csnum;
pt.submit_o.authid = ptui_kf_authid;
}
var g = pt.object2param(pt.submit_o);
if (!h) {
pt.showVcode();
pt.isSubmiting = false;
} else {
var a = pt.isHulian ? "pt_open_login" : "login";
var c = pt.loginUrl + a + "?" + g;
$.http.loadScript(c);
}
return false;
}, cb: function (d, b, c, h, f, a) {[!--empirenews.page--]
if (d == 0) {
var g = $("u").value;
pt.saveLastUin(g);
if (c.indexOf("/cgi-bin/mibao_vry") > -1) {
c += "&style=" + pt.style;
}
pt.redirect(h, c);
} else {
if (d == 4) {
pt.changeCodeImg();
} else {
pt.go_back();
}
pt.showErr(f);
}
pt.isSubmiting = false;
}, cb_checkVC: function (a, d, b, f, c) {
switch (a + "") {
case "0":
pt.vcode = d || "abcd";
pt.verifysession = f;
break;
case "1":
pt.vcode = "";
pt.cap_cd = d;
break;
case "2":
case "3":
break;
default:
break;
}
if (a == 2) {
pt.showErr(pt.lang.err_uin);
return;
}
if (a == 3) {
pt.showErr(pt.checkErr[ptui_lang]);
return;
}
pt.salt = b;
pt.isRandSalt = c;
pt.submit(pt.vcode);
}, check: function (a) {
if (pt.isSubmiting) {
return;
}
pt.is_qlogin = a;
if (!pt.is_qlogin) {
if (!pt.checkValidate()) {
clearTimeout(pt._timer);
return;
}
}
var c = "";
if (a) {
c = pt.login_uin;
} else {
c = pt.needAt ? pt.needAt : $("u").value;[!--empirenews.page--]
}
var b = pt.checkUrl + "pt_tea=1&uin=" + c + "&appid=" + pt.appid + "&ptlang=" + pt.lang_num + "&r=" + Math.random();
$.http.loadScript(b);
return;
}, checkValidate: function () {
var a = $("u");
var b = $("p");
if (a.value == "") {
pt.showErr(pt.lang.no_uin, function () {
a.focus();
});
return false;
}
if (!pt.checkQQUin(a.value)) {
pt.showErr(pt.lang.err_uin, function () {
a.focus();
});
return false;
}
a.value = $.str.trim(a.value);
if (b.value == "") {
pt.showErr(pt.lang.no_password, function () {
b.focus();
});
return false;
}
return true;
}, checkQQUin: function (a) {
if (a.length == 0) {
return false;
}
a = $.str.trim(a);
pt.needAt = "";
var b = $.check;
if (pt.appid == pt.t_appid) {
if (b.isQQ(a) || b.isMail(a)) {
return true;
} else {
if (b.isNick(a) || b.isName(a)) {
pt.needAt = "@" + encodeURIComponent(a);
return true;
} else {
if (b.isPhone(a)) {
pt.needAt = "@" + a.replace(/^(86|886)/, "");
return true;
} else {
if (b.isSeaPhone(a)) {
pt.needAt = "@00" + a.replace(/^(00)/, "");
if (/^(@0088609)/.test(pt.needAt)) {
pt.needAt = pt.needAt.replace(/^(@0088609)/, "@008869");[!--empirenews.page--]
}
return true;
}
}
}
}
pt.needAt = "";
} else {
if (b.isQQ(a) || b.isMail(a)) {
return true;
}
if (b.isNick(a)) {
$("u").value = a + "@qq.com";
return true;
}
if (b.isPhone(a)) {
pt.needAt = "@" + a.replace(/^(86|886)/, "");
return true;
}
}
if (b.isForeignPhone(a)) {
pt.needAt = "@" + a;
return true;
}
if (b.isPaipaiDuokefu(a)) {
return true;
}
return false;
}, checkVcode: function () {
var a = $("vcode_input");
if (a.value == "") {
pt.showErr(pt.lang.no_code);
a.focus();
return false;
}
if (a.value.length < 4) {
pt.showErr(pt.lang.less_code);
a.focus();
a.select();
return false;
}
if (!(/^[a-zA-Z0-9]+$/.test(a.value))) {
pt.showErr(pt.lang.err_code);
a.focus();
a.select();
return false;
}
return true;
}, clickHeader: function (f) {
f.preventDefault();
var d = f.target;
var a = d.parentNode;
var c = a.getAttribute("id");
var b = a.getAttribute("type");
pt.login_uin = c;
pt.login_pwd = a.getAttribute("pwd");[!--empirenews.page--]
switch (b + "") {
case "1":
pt.check(true);
break;
case "2":
pt.qlogin_submit();
break;
case "3":
pt.authlogin_submit();
break;
default:
pt.check(true);
}
}, setHeader: function (a) {
for (var b in a) {
if (a[b].url != "" && b != "") {
if ($("img_" + b)) {
$("img_" + b).src = a[b];
}
}
}
pt.hideURLBar();
}, initFace: function () {
var c = pt.qlogin_list_data;
var b = c.length;
for (var a = 0; a < b; a++) {
$.http.loadScript("http://ptlogin2." + pt.domain + "/getface?appid=" + pt.appid + "&imgtype=3&encrytype=0&devtype=1&keytpye=0&uin=" + c[a].uin + "&r=" + Math.random());
}
}, face_error: function (a) {
if (a.src != pt.default_face_url) {
a.src = pt.default_face_url;
}
return false;
}, getShortWord: function (d, j, a) {
j = j ? j : "";
var g = "...";
d.innerHTML = j;
if (d.clientWidth <= a) {
} else {
var h = j.length;
var c = Math.ceil(h / 2);
for (var f = 0; f < c; f++) {
var b = j.substring(0, c - f);
var k = j.substring(c + f, h);
d.innerHTML = b + g + k;
if (d.clientWidth <= a) {
d.title = j;
break;
}
var k = j.substring(c + f + 1, h);
d.innerHTML = b + g + k;
if (d.clientWidth <= a) {[!--empirenews.page--]
d.title = j;
break;
}
}
}
d.style.width = a + "px";
}, changeCodeImg: function () {
if (pt.new_vcode) {
var c = (pt.isHttps ? "https://ssl." : "http://") + "captcha.qq.com/cap_union_show?captype=3";
c += ("&aid=" + pt.appid + "&uin=" + pt.login_uin + "&cap_cd=" + pt.cap_cd + "&v=" + Math.random());
$("cap_iframe").src = c;
} else {
var b = $("vcode_img");
var d = pt.domain;
var a = (pt.isHttps ? "https://ssl." : "http://") + "captcha." + d + "/getimage";
if (pt.isHttps && d != "qq.com" && d != "tenpay.com") {
a = "https://ssl.ptlogin2." + d + "/ptgetimage";
}
a += ("?aid=" + pt.appid + "&uin=" + pt.login_uin + "&v=" + Math.random());
b.src = a;
}
}, showVcode: function () {
if (pt.new_vcode) {
$("content").style.display = "none";
$("new_vcode").style.display = "block";
var a = (pt.isHttps ? "https://ssl." : "http://") + "captcha.qq.com/cap_union_show?captype=3";
a += ("&lang=" + pt.lang_num + "&aid=" + pt.appid + "&uin=" + pt.login_uin + "&cap_cd=" + pt.cap_cd + "&v=" + Math.random());
$("cap_iframe").src = a;
pt.ptui_notifySize();
} else {
$("login").style.display = "none";
$("vcode").style.display = "block";
pt.bindVcodeEvent();
pt.changeCodeImg();
}
pt.hideURLBar();
$("btn_app_down") && $.css.hide("btn_app_down");
}, go_back: function () {
$("content") && ($("content").style.display = "block");
$("login") && ($("login").style.display = "block");
$("vcode") && ($("vcode").style.display = "none");
$("new_vcode") && ($("new_vcode").style.display = "none");
}, submitVcode: function () {
if (pt.isSubmiting) {[!--empirenews.page--]
return;
}
if (!pt.checkVcode()) {
return false;
}
pt.submit_o.verifycode = $("vcode_input").value.toUpperCase();
var d = "";
var b = false;
if (window.openSDK && openSDK.md5Pwd && openSDK.result == 0) {
d = openSDK.md5Pwd;
b = true;
} else {
d = $("p").value;
b = false;
}
pt.submit_o.p = $.Encryption.getEncryption(d, pt.salt, pt.submit_o.verifycode, b);
pt.submit_o.pt_randsalt = pt.isRandSalt || 0;
var f = pt.object2param(pt.submit_o);
var a = pt.isHulian ? "pt_open_login" : "login";
var c = (pt.isHttps ? "https://ssl." : "http://") + "ptlogin2." + pt.domain + "/" + a + "?" + f;
$.http.loadScript(c);
}, submitNewVcode: function (d) {
pt.submit_o.verifycode = d.randstr.toUpperCase();
pt.submit_o.pt_vcode_v1 = 1;
pt.submit_o.pt_verifysession_v1 = d.sig;
var f = "";
var b = false;
if (window.openSDK && openSDK.md5Pwd && openSDK.result == 0) {
f = openSDK.md5Pwd;
b = true;
} else {
f = $("p").value;
b = false;
}
pt.submit_o.p = $.Encryption.getEncryption(f, pt.salt, pt.submit_o.verifycode, b);
pt.submit_o.pt_randsalt = pt.isRandSalt || 0;
if (window.ptui_kf_csimc != "0" && window.ptui_kf_csimc) {
pt.submit_o.csimc = ptui_kf_csimc;
pt.submit_o.csnum = ptui_kf_csnum;
pt.submit_o.authid = ptui_kf_authid;
}
var g = pt.object2param(pt.submit_o);
var a = pt.isHulian ? "pt_open_login" : "login";
var c = (pt.isHttps ? "https://ssl." : "http://") + "ptlogin2." + pt.domain + "/" + a + "?" + g;
$.http.loadScript(c);
}, open: {
timer: -1, authListDone: false, waiting: function (b, a) {
if (!a) {
return;
}
switch (b) {
case "authlist":
if (pt.open.authListDone) {
a();[!--empirenews.page--]
} else {
pt.open.waiting.authlistFn = a;
}
break;
case "authdata":
if (pt.submit_o.openlogin_data) {
a();
} else {
pt.open.getAuthData();
pt.open.waiting.authdataFn = a;
}
break;
}
}, authListReady: function (a) {
pt.open.authListDone = true;
if (pt.open.waiting.authlistFn) {
pt.open.waiting.authlistFn();
pt.open.waiting.authlistFn = null;
}
var b = a.skey;
if (b == 0) {
$.cookie.del("skey", "qq.com");
$.cookie.del("uin", "qq.com");
}
if (b == 1 || pt.qqBrowserInfo) {
pt.build_hulian_qlogin_list(a);
pt.initFace();
}
}, setFrameHeight: function (a) {
}, getData: function (a) {
clearTimeout(pt.open.timer);
pt.submit_o.openlogin_data = encodeURIComponent(a.value);
if (pt.open.waiting.authdataFn) {
pt.open.waiting.authdataFn();
pt.open.waiting.authdataFn = null;
return;
}
if (pt.cookieLogin) {
pt.cookielogin_submit();
} else {
if (pt.qqBrowserInfo) {
pt.qlogin_submit();
} else {[!--empirenews.page--]
if (window.openSDK && openSDK.getMD5FromNative) {
openSDK.getMD5FromNative(function () {
pt.check(false);
});
} else {
pt.check(false);
}
}
}
}, getAuthData: function () {
if (!pt.open.authListDone) {
pt.showErr("授权列表加载失败");
}
pt.open.timer = setTimeout(function () {
pt.showErr("授权信息获取失败");
}, 3000);
pt.open.authListDone && xMsg.call("connect", "getData", {}, pt.open.getData);
}
}, crossMessage: function (b) {
if (typeof window.postMessage != "undefined") {
var a = $.str.json2str(b);
window.parent.postMessage(a, "*");
}
}, ptui_notifyClose: function (a) {
a && a.preventDefault();
var b = {};
b.action = "close";
pt.crossMessage(b);
}, ptui_notifySize: function (c) {
var a = {};
a.action = "resize";
if (c) {
var b = $(c);
a.width = b.offsetWidth || 1;
a.height = b.offsetHeight || 1;
} else {
a.width = 320;
a.height = 441;
}
pt.crossMessage(a);
}
};
pt.auth();
function ptui_checkVC(a, d, b, f, c) {
clearTimeout(pt._timer);
pt.cb_checkVC(a, d, b, f, c);
}
function ptui_changeImg() {
}
function ptuiCB(d, b, c, g, f, a) {
clearTimeout(pt._timer);
pt.cb(d, b, c, g, f, a);
}
function imgLoadReport() {
}
function ptui_checkValidate() {
return pt.checkValidate();
}
function ptui_auth_CB(c, b) {
switch (parseInt(c)) {
case 0:
pt.showAuth(b);
pt.qqBrowserQlogin();
break;
case 1:[!--empirenews.page--]
pt.qqBrowserQlogin();
break;
case 2:
var a = b + "®master=" + window.ptui_regmaster + "&aid=" + window.ptui_appid + "&s_url=" + encodeURIComponent(pt.s_url);
if (pt.low_login_enable == 1) {
a += "&low_login_enable=1&low_login_hour=" + window.ptui_low_login_hour;
}
if (window.ptui_pt_ttype == "1") {
a += "&pt_ttype=1";
}
if (window.ptui_pt_light == "1") {
a += "&pt_light=1";
}
pt.redirect(pt.target, a);
break;
default:
pt.qqBrowserQlogin();
}
}
function ptui_qlogin_CB(b, a, d) {
switch (b + "") {
case "0":
pt.redirect(pt.target, a);
break;
case "5":
if (MTT.refreshToken) {
var c = setTimeout(function () {
pt.showErr(d);
}, 3000);
MTT.refreshToken(pt.qqBrowserInfo.uin, function (f) {
MTT.refreshToken = null;
if (!f.stweb) {
return;
}
$.report.monitor("624562");
clearTimeout(c);
pt.qqBrowserInfo.loginkey = f.stweb;
pt.qlogin_submit();
});
$.report.monitor("624561");
} else {
pt.showErr(d);
}
break;
default:
$.report.nlog("qq浏览器快速登录失败," + b, "443881", pt.qqBrowserInfo.uin);
pt.showErr(d);
}[!--empirenews.page--]
}
OneKey.ERRMSG = { "2052": "使用一键登录,<a href='http://im.qq.com/mobileqq/touch/53/index.html' target='_blank'>请安装最新版本的手机QQ</a>", "1028": "使用一I登,<a href='http://im.qq.com/mobileqq/touch/53/index.html' target='_blank'>安b最新版本的手CQQ</a>", "1033": "Have <a href='http://im.qq.com/mobileqq/touch/53/index.html' target='_blank'>the latest Mobile QQ</a>?" };
function OneKey(a) {
OneKey.done = false;
OneKey.TIMEOUT = 3000;
setTimeout(function () {
openApp(a);
}, 100);
}
function openApp(p, d, l) {
if (OneKey.done) {
return;
}
if (pt.isLaunching) {
return;
}
var j = $("onekey");
j.innerHTML = STR_LANG.onekeying;
pt.isLaunching = true;
var o = OneKey.TIMEOUT;
var a = navigator.userAgent;
if (/android/i.test(a)) {
var m = $.detectBrowser();
var h = m[0];
var g = m[1] || "location";
if (h) {
var n = h.toLowerCase();
var f = { ucbrowser: "ucweb" };
if (f[n]) {
p += "&schemacallback=" + encodeURIComponent(f[n] + "://");
}
}
switch (g) {
case "iframe":
if (openApp.iframe) {
openApp.iframe.src = p;
} else {
openApp.iframe = document.createElement("iframe");
openApp.iframe.src = p;
openApp.iframe.style.display = "none";
document.body.appendChild(openApp.iframe);
}
openApp.flag = "iframe";
break;
case "open":
var k = window.open(p, "_blank");
setTimeout(function () {
k.close();
}, 0);
openApp.flag = "open";
break;
case "location":
location.href = p;
openApp.flag = "location";[!--empirenews.page--]
break;
}
} else {
var m = $.detectBrowser();
var h = m[0];
if (h && h.toLowerCase() == "ucbrowser") {
p += "&schemacallback=" + encodeURIComponent("ucbrowser://");
}
location.href = p;
openApp.flag = "location";
}
var c = new Date();
window.setTimeout(function () {
d && d();
pt.isLaunching = false;
j.innerHTML = STR_LANG.onekey;
if (new Date() - c > o + 200) {
return;
} else {
l && l();
pt.showErr(OneKey.ERRMSG[ptui_lang], 5000);
$.report.nlog("callApp failed:" + navigator.userAgent, 424783);
}
}, o);
}
var openSDK = (function () {
var h = "";
var a = 0;
var j = 0;
var d = [];
var c = function (l, k) {
j = 1;
if (typeof k == "function") {
d[j] = k;
}
window.location.href = "jsbridge://SecureJsInterface/curPosFromJS/" + j + "/openSDKCallBack/" + l;
};
var g = function (k, l) {
j = 2;
if (typeof l == "function") {
d[j] = l;
}
window.location.href = "jsbridge://SecureJsInterface/isPasswordEdit/" + j + "/openSDKCallBack/" + k;
};
var f = function (k) {
j = 3;
if (typeof k == "function") {
d[j] = k;
}
window.location.href = "jsbridge://SecureJsInterface/clearAllEdit/" + j + "/openSDKCallBack";
};
var b = function (k) {
j = 4;
if (typeof k == "function") {
d[j] = k;
}
window.location.href = "jsbridge://SecureJsInterface/getMD5FromNative/" + j + "/openSDKCallBack";
};
if (window.ptui_enablePwd == "1") {
return { curPosFromJS: c, isPasswordEdit: g, clearAllEdit: f, getMD5FromNative: b, sn: j, md5Pwd: h, result: a, callbackArray: d };
}
})();
评论已关闭