查找函数:sinaSSOEncoder.hex_sha1 // 用户名加密
request.su = sinaSSOEncoder.base64.encode(urlencode(username));
// 密码加密
password = sinaSSOEncoder.hex_sha1("" + sinaSSOEncoder.hex_sha1(sinaSSOEncoder.hex_sha1(password)) + me.servertime + me.nonce)
var sinaSSOEncoder = sinaSSOEncoder || {};
(function () {
var i = 0;
var g = 8;
this.hex_sha1 = function (j) {
return h(b(f(j), j.length * g))
};
var b = function (A, r) {
A[r >> 5] |= 128 << (24 - r % 32);
A[((r + 64 >> 9) << 4) + 15] = r;
var B = Array(80);
var z = 1732584193;
var y = -271733879;
var v = -1732584194;
var u = 271733878;
var s = -1009589776;
for (var o = 0; o < A.length; o += 16) {
var q = z;
var p = y;
var n = v;
var m = u;
var k = s;
for (var l = 0; l < 80; l++) {
if (l < 16) {
B[l] = A[o + l]
} else {
B[l] = d(B[l - 3] ^ B[l - 8] ^ B[l - 14] ^ B[l - 16], 1)
}
var C = e(e(d(z, 5), a(l, y, v, u)), e(e(s, B[l]), c(l)));
s = u;
u = v;
v = d(y, 30);
y = z;
z = C
}
z = e(z, q);
y = e(y, p);
v = e(v, n);
u = e(u, m);
s = e(s, k)
}
return Array(z, y, v, u, s)
};
var a = function (k, j, m, l) {
if (k < 20) {
return (j & m) | ((~j) & l)
}
if (k < 40) {
return j ^ m ^ l
}
if (k < 60) {
return (j & m) | (j & l) | (m & l)
}
return j ^ m ^ l
};
var c = function (j) {
return (j < 20) ? 1518500249 : (j < 40) ? 1859775393 : (j < 60) ? -1894007588 : -899497514
};
var e = function (j, m) {
var l = (j & 65535) + (m & 65535);
var k = (j >> 16) + (m >> 16) + (l >> 16);
return (k << 16) | (l & 65535)
};
var d = function (j, k) {
return (j << k) | (j >>> (32 - k))
};
var f = function (m) {
var l = Array();
var j = (1 << g) - 1;
for (var k = 0; k < m.length * g; k += g) {
l[k >> 5] |= (m.charCodeAt(k / g) & j) << (24 - k % 32)
}
return l
};
var h = function (l) {
var k = i ? "0123456789ABCDEF" : "0123456789abcdef";
var m = "";
for (var j = 0; j < l.length * 4; j++) {
m += k.charAt((l[j >> 2] >> ((3 - j % 4) * 8 + 4)) & 15) + k.charAt((l[j >> 2] >> ((3 - j % 4) * 8)) & 15)
}
return m
};
this.base64 = {
encode: function (l) {
l = "" + l;
if (l == "") {
return ""
}
var j = "";
var s, q, o = "";
var r, p, n, m = "";
var k = 0;
do {
s = l.charCodeAt(k++);
q = l.charCodeAt(k++);
o = l.charCodeAt(k++);
r = s >> 2;
p = ((s & 3) << 4) | (q >> 4);
n = ((q & 15) << 2) | (o >> 6);
m = o & 63;
if (isNaN(q)) {
n = m = 64
} else {
if (isNaN(o)) {
m = 64
}
}
j = j + this._keys.charAt(r) + this._keys.charAt(p) + this._keys.charAt(n) + this._keys.charAt(m);
s = q = o = "";
r = p = n = m = ""
} while (k < l.length);
return j
},
_keys: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
}
}).call(sinaSSOEncoder);
request.su = sinaSSOEncoder.base64.encode(urlencode(username));
// 密码加密
password = sinaSSOEncoder.hex_sha1("" + sinaSSOEncoder.hex_sha1(sinaSSOEncoder.hex_sha1(password)) + me.servertime + me.nonce)
var sinaSSOEncoder = sinaSSOEncoder || {};
(function () {
var i = 0;
var g = 8;
this.hex_sha1 = function (j) {
return h(b(f(j), j.length * g))
};
var b = function (A, r) {
A[r >> 5] |= 128 << (24 - r % 32);
A[((r + 64 >> 9) << 4) + 15] = r;
var B = Array(80);
var z = 1732584193;
var y = -271733879;
var v = -1732584194;
var u = 271733878;
var s = -1009589776;
for (var o = 0; o < A.length; o += 16) {
var q = z;
var p = y;
var n = v;
var m = u;
var k = s;
for (var l = 0; l < 80; l++) {
if (l < 16) {
B[l] = A[o + l]
} else {
B[l] = d(B[l - 3] ^ B[l - 8] ^ B[l - 14] ^ B[l - 16], 1)
}
var C = e(e(d(z, 5), a(l, y, v, u)), e(e(s, B[l]), c(l)));
s = u;
u = v;
v = d(y, 30);
y = z;
z = C
}
z = e(z, q);
y = e(y, p);
v = e(v, n);
u = e(u, m);
s = e(s, k)
}
return Array(z, y, v, u, s)
};
var a = function (k, j, m, l) {
if (k < 20) {
return (j & m) | ((~j) & l)
}
if (k < 40) {
return j ^ m ^ l
}
if (k < 60) {
return (j & m) | (j & l) | (m & l)
}
return j ^ m ^ l
};
var c = function (j) {
return (j < 20) ? 1518500249 : (j < 40) ? 1859775393 : (j < 60) ? -1894007588 : -899497514
};
var e = function (j, m) {
var l = (j & 65535) + (m & 65535);
var k = (j >> 16) + (m >> 16) + (l >> 16);
return (k << 16) | (l & 65535)
};
var d = function (j, k) {
return (j << k) | (j >>> (32 - k))
};
var f = function (m) {
var l = Array();
var j = (1 << g) - 1;
for (var k = 0; k < m.length * g; k += g) {
l[k >> 5] |= (m.charCodeAt(k / g) & j) << (24 - k % 32)
}
return l
};
var h = function (l) {
var k = i ? "0123456789ABCDEF" : "0123456789abcdef";
var m = "";
for (var j = 0; j < l.length * 4; j++) {
m += k.charAt((l[j >> 2] >> ((3 - j % 4) * 8 + 4)) & 15) + k.charAt((l[j >> 2] >> ((3 - j % 4) * 8)) & 15)
}
return m
};
this.base64 = {
encode: function (l) {
l = "" + l;
if (l == "") {
return ""
}
var j = "";
var s, q, o = "";
var r, p, n, m = "";
var k = 0;
do {
s = l.charCodeAt(k++);
q = l.charCodeAt(k++);
o = l.charCodeAt(k++);
r = s >> 2;
p = ((s & 3) << 4) | (q >> 4);
n = ((q & 15) << 2) | (o >> 6);
m = o & 63;
if (isNaN(q)) {
n = m = 64
} else {
if (isNaN(o)) {
m = 64
}
}
j = j + this._keys.charAt(r) + this._keys.charAt(p) + this._keys.charAt(n) + this._keys.charAt(m);
s = q = o = "";
r = p = n = m = ""
} while (k < l.length);
return j
},
_keys: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
}
}).call(sinaSSOEncoder);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货