今天研究了一下QQ网页版登录,本来想做个模拟登陆器的但是发现里面的JS的算法相当复杂。使用了MD5和RSA进行加密。 它的加密算法如下:
function getCookie(t) {
return pt.cookie.get(t)
}
function setCookie(t) {
pt.cookie.set(t.value)
}
function ptui_onEnableLLogin(t) {
var e = t.low_login_enable,
i = t.low_login_hour;
null != e && null != i && (i.disabled = !e.checked)
}
function ptui_setDefUin(t, e) {
if (!e) {
var e = unescape(pt.cookie.get('ptui_loginuin')),
i = pt.chkAccount;
g_appid != t_appid && (i.isNick(e) || i.isName(e)) && (e = pt.cookie.get('pt2gguin').replace(/^o/, '') - 0, e = 0 == e ? '' : e),
defaultuin = e
}
e && (t.u.value = e)
}
function ptui_needVC(t, e) {
pt.chkAccount.isQQ(t) && (document.cookie = 'chkuin=' + t + ';domain=ptlogin2.' + g_domain + ';path=/'),
t = pt.needAt ? pt.needAt : t;
var i = (pt.isHttps ? 'https://ssl.' : 'http://check.') + 'ptlogin2.' + g_domain + '/check?';
2 == pt.regmaster ? i = 'http://check.ptlogin2.function.qq.com/check?regmaster=2&' : 3 == pt.regmaster && (i = 'http://check.ptlogin2.crm2.qq.com/check?regmaster=3&'),
i += 'pt_tea=1&uin=' + t + '&appid=' + e + '&js_ver=' + window.g_pt_version + '&js_type=' + pt.js_type + '&login_sig=' + window.g_login_sig + '&u1=' + encodeURIComponent(document.forms[0].u1.value) + '&r=' + Math.random(),
pt.loadScript(i),
g_loadcheck = !0
}
function ptui_checkVC(t, e, i, n, r) {
clearTimeout(checkClock),
pt.checkRet = t,
pt.isRandSalt = r,
pt.salt = i,
pt.uin = i,
'2' == t && (g_uin = '0', pt.show_err(str_inv_uin)),
pt.submitN[pt.uin] || (pt.submitN[pt.uin] = 1);
var o = new Date;
g_time.time7 = o;
var a = {
12: g_time.time7 - g_time.time6
};
switch (curXui || ptui_speedReport(a), g_loadcheck = !1, t + '') {
case '0':
case '2':
case '3':
$('verifycode').value = e || 'abcd',
loadVC(!1);
break;
case '1':
pt.cap_cd = e,
$('verifycode').value = pt.needCodeTip ? str_codetip : '',
loadVC(!0)
}
pt.pt_verifysession = n
}
function ptui_changeImg(t, e, i) {
e = window.g_appid,
changeimg = !0;
var n = pt.needAt ? pt.needAt : g_uin,
r = (pt.isHttps ? 'https://ssl.' : 'http://') + 'captcha.' + t + '/getimage?&uin=' + n + '&aid=' + e + '&' + Math.random() + '&cap_cd=' + pt.cap_cd,
o = $('imgVerify');
try {
if (null != o) {
o.src = r;
var a = $('verifycode');
null != a && 0 == a.disabled && i && (a.focus(), a.select())
}
} catch (s) {
}
}
function ptui_initFocus(t) {
if (!pt.isIpad) try {
var e = t.u,
i = t.p,
n = t.verifycode;
if ('' == e.value || str_uintip == e.value) return void e.focus();
if ('' == i.value) return void i.focus();
'' == n.value && n.focus()
} catch (r) {
}
}
function getSubmitUrl(t) {
var e = !0,
i = document.forms[0],
n = (pt.isHttps ? 'https://ssl.' : 'http://') + 'ptlogin2.' + g_domain + '/' + t + '?',
r = document.getElementById('login2qq');
2 == pt.regmaster ? n = 'http://ptlogin2.function.qq.com/' + t + '?regmaster=2&' : 3 == pt.regmaster && (n = 'http://ptlogin2.crm2.qq.com/' + t + '?regmaster=3&');
for (var o = 0; o < i.length; o++) if ('ptqrlogin' != t || 'u' != i[o].name && 'p' != i[o].name && 'verifycode' != i[o].name && 'h' != i[o].name) if ('ipFlag' != i[o].name || i[o].checked) {
if ('fp' != i[o].name && 'submit' != i[o].type) if ('ptredirect' == i[o].name && (g_ptredirect = i[o].value), 'low_login_enable' != i[o].name || i[o].checked) {
if (('low_login_hour' != i[o].name || e) && ('webqq_type' != i[o].name || r || i[o].checked)) if (n += i[o].name, n += '=', 'u' == i[o].name && pt.needAt) n += pt.needAt + '&';
else {
if ('p' == i[o].name) n += $.Encryption.getEncryption(i.p.value, pt.salt, i.verifycode.value);
else if ('u1' == i[o].name || 'ep' == i[o].name) {
var a = i[o].value,
s = '';
if ('1003903' == g_appid && r) {
s = /\?/g.test(a) ? '&' : '?';
var p = document.getElementById('webqq_type').value;
s += 'login2qq=' + r.value + '&webqq_type=' + p
}
n += encodeURIComponent(a + s)
} else n += i[o].value;
n += '&'
}
} else e = !1
} else n += i[o].name + '=-1&';
return n += 'fp=loginerroralert&action=' + pt.action.join('-') + '-' + (new Date - g_begTime) + '&mibao_css=' + pt.mibao_css + '&t=' + pt.submitN[pt.uin] + '&g=1',
n += '&js_type=' + pt.js_type + '&js_ver=' + window.g_pt_version + '&login_sig=' + window.g_login_sig,
n += '&pt_uistyle=' + window.g_style,
n += '&pt_randsalt=' + (pt.isRandSalt || 0),
'login' == t && (n += '&pt_vcode_v1=0', n += '&pt_verifysession_v1=' + (pt.pt_verifysession || pt.cookie.get('verifysession'))),
n
}
function ajax_Submit() {
if (pt.cntCheckTimeout >= 2) return void pt.show_err(pt.checkErr[window.g_lang]);
if ( - 1 != pt.checkRet && 3 != pt.checkRet) {
var t = getSubmitUrl('login');
pt.winName.set('login_param', encodeURIComponent(login_param)),
pt.loadScript(t)
} else {
pt.show_err(pt.checkErr[window.g_lang]);
try {
$('p').focus()
} catch (e) {
}
}
}
function qrlogin_submit() {
var t = getSubmitUrl('ptqrlogin');
pt.winName.set('login_param', encodeURIComponent(login_param)),
pt.loadScript(t)
}
function ptuiCB(t, e, i, n, r) {
function o() {
var t = pt.cookie.get('uin'),
e = pt.cookie.get('skey');
('' == t || '' == e) && ptui_reportAttr2('240601')
}
function a() {
switch ('0' != n && o(), pt.hide_err(), n) {
case '0':
pt.is_mibao(i) && (i += '#login_param=' + encodeURIComponent(login_param)),
window.location.href = i;
break;
case '1':
top.location.href = i;
break;
case '2':
parent.location.href = i;
break;
default:
top.location.href = i
}
}
$('p').blur(),
g_time.time13 = new Date;
var s = {
15: g_time.time13 - g_time.time12
};
if (ptui_speedReport(s), g_submitting = !1, 65 == t) return void pt.switch_qrlogin(!1);
if (66 != t) {
if (67 == t) return void pt.go_qrlogin_step(2);
if (10005 == t && pt.force_qrlogin(t), 10006 == t && pt.force_qrlogin(t), 0 == t) {
pt.isQrLogin && !pt.is_mibao(i) ? (window.clearInterval(pt.qrlogin_clock), a()) : a()
} else if (pt.submitN[pt.uin] && pt.submitN[pt.uin]++, 0 == e ? 5 != window.g_style && pt.show_err(r && '' != r ? r : str_input_error) : (pt.show_err(r), $('p').value = '', $('p').focus(), $('p').select()), isLoadVC ? (ptui_changeImg(g_domain, g_appid, !0), $('verifycode').value = pt.needCodeTip ? str_codetip : '', loadVC(!0), $('verifycode').focus(), $('verifycode').select()) : 0 == e && (g_uin = 0), 3 == t || 4 == t) {
if (navigator.userAgent.toLowerCase().indexOf('webkit') > - 1 && $('u').focus(), 3 == t && ($('p').value = ''), $('p').focus(), $('p').select(), 4 == t) try {
check(),
$('verifycode').focus(),
$('verifycode').select()
} catch (p) {
}
0 != e && 102 != e && ($('verifycode').value = pt.needCodeTip ? str_codetip : '', loadVC(!0), g_submitting = !0)
}
}
}
function browser_version() {
var t = navigator.userAgent.toLowerCase();
return t.match(/msie ([\d.]+)/) ? 1 : t.match(/firefox\/([\d.]+)/) ? 3 : t.match(/chrome\/([\d.]+)/) ? 5 : t.match(/opera.([\d.]+)/) ? 9 : t.match(/version\/([\d.]+).*safari/) ? 7 : 1
}
function ptui_reportSpeed(t, e) {
if (!(pt.isHttps || window.flag2 && Math.random() > 0.5 || !window.flag2 && Math.random() > 0.05)) {
var i = browser_version();
url = 'http://isdspeed.qq.com/cgi-bin/r.cgi?flag1=6000&flag2=' + (window.flag2 ? window.flag2 : 1) + '&flag3=' + i;
for (var n = 0; n < g_speedArray.length; n++) url += '&' + g_speedArray[n][0] + '=' + (g_speedArray[n][1] - t);
0 != e && (url += '&4=' + (t - e)),
imgSendTimePoint = new Image,
imgSendTimePoint.src = url + '&24=' + g_appid
}
}
function ptui_reportAttr(t) {
Math.random() > 0.05 || (url = (pt.isHttps ? 'https' : 'http') + '://ui.ptlogin2.' + g_domain + '/cgi-bin/report?id=' + t + '&t=' + Math.random(), imgAttr = new Image, imgAttr.src = url, imgAttr = null)
}
function ptui_reportAttr2(t, e) {
Math.random() > (e || 1) || (url = (pt.isHttps ? 'https' : 'http') + '://ui.ptlogin2.' + g_domain + '/cgi-bin/report?id=' + t + '&t=' + Math.random(), imgAttr = new Image, imgAttr.src = url, imgAttr = null)
}
function ptui_reportNum(t) {
if (!(Math.random() > 0.05)) {
url = (pt.isHttps ? 'https' : 'http') + '://ui.ptlogin2.' + g_domain + '/cgi-bin/report?id=1000&n=' + t;
var e = new Image;
e.src = url
}
}
function imgLoadReport() {
if (!changeimg) {
g_time.time8 = new Date;
var t = {
11: g_time.time8 - g_time.time7
};
curXui || ptui_speedReport(t)
}
}
function webLoginReport() {
var t = {
};
g_time.time0 && g_time.time0 > 0 && g_time.time1 && g_time.time1 > 0 && g_time.time2 && g_time.time2 > 0 && g_time.time3 && g_time.time3 > 0 && (t[18] = g_time.time1 - g_time.time0, t[19] = g_time.time2 - g_time.time0, t[20] = g_time.time4 - g_time.time0, t[21] = g_time.time5 - g_time.time0, t[7] = g_time.time4 - g_time.time3, t[26] = g_time.time5 - g_time.time3, ptui_speedReport(t))
}
function ptui_speedReport(t) {
if (!(pt.isHttps || window.flag2 && Math.random() > 0.5 || !window.flag2 && Math.random() > 0.1)) {
var e = 'http://isdspeed.qq.com/cgi-bin/r.cgi?flag1=6000&flag2=' + (window.flag2 ? window.flag2 : 1) + '&flag3=' + browser_version(),
i = 0;
for (var n in t) t[n] > 300000 || t[n] < 0 || (e += '&' + n + '=' + t[n], i++);
if (0 != i) {
var r = new Image;
r.src = e + '&24=' + g_appid
}
}
}
function ptui_notifyClose() {
try {
window.clearInterval(pt.qrlogin_clock),
parent.ptlogin2_onClose ? parent.ptlogin2_onClose() : top == this && window.close()
} catch (t) {
window.close()
}
}
function ptui_setUinColor(t, e, i) {
var n = $(t);
n.style.color = str_uintip == n.value ? i : e
}
function ptui_checkPwdOnInput() {
return $('p').value.length >= 16 ? !1 : !0
}
function ptui_onLogin(t) {
try {
if (parent.ptlogin2_onLogin && !parent.ptlogin2_onLogin()) return !1;
if (parent.ptlogin2_onLoginEx) {
var e = t.u.value,
i = t.verifycode.value;
if (str_uintip == e && (e = ''), !parent.ptlogin2_onLoginEx(e, i)) return !1
}
} catch (n) {
}
return ptui_checkValidate(t)
}
function ptui_onLoginEx(t, e) {
if (g_time.time12 = new Date, ptui_onLogin(t)) {
var i = new Date;
i.setHours(i.getHours() + 720),
pt.cookie.set('ptui_loginuin', t.u.value, i, '/', e)
}
return !1
}
function ptui_onReset() {
try {
if (parent.ptlogin2_onReset && !parent.ptlogin2_onReset()) return !1
} catch (t) {
}
return !0
}
function ptui_checkValidate(t) {
var e = t.u,
i = t.p,
n = t.verifycode;
if ('' == e.value || str_uintip == e.value) return pt.show_err(str_no_uin),
e.focus(),
!1;
if (e.value = e.value.trim(), !pt.chkUin(e.value)) return pt.show_err(str_inv_uin),
e.focus(),
e.select(),
!1;
if ('' == i.value) return pt.show_err(str_no_pwd),
i.focus(),
!1;
if ('' == n.value) {
if (!isLoadVC) return check(),
!1;
pt.show_err(str_no_vcode);
try {
n.focus()
} catch (r) {
}
return ptui_reportAttr(g_loadcheck ? 78029 : 78028),
!1
}
return n.value.length < 4 ? (pt.show_err(str_inv_vcode), n.focus(), n.select(), !1) : (i.setAttribute('maxlength', '32'), ajax_Submit(), ptui_reportNum(g_changeNum), g_changeNum = 0, !0)
}
function uin2hex(str) {
for (var maxLength = 16, hex = parseInt(str).toString(16), len = hex.length, i = len; maxLength > i; i++) hex = '0' + hex;
for (var arr = [
], j = 0; maxLength > j; j += 2) arr.push('\\x' + hex.substr(j, 2));
var result = arr.join('');
return eval('result="' + result + '"'),
result
}
function checkTimeout() {
var t = $('u').value.trim();
(pt.chkAccount.isQQ(t) || pt.chkAccount.isQQMail(t)) && (pt.uin = pt.salt = uin2hex(t.replace('@qq.com', '')), $('verifycode').value = '', loadVC(!0), pt.checkRet = 1, pt.cntCheckTimeout++),
ptui_reportAttr2(216082)
}
function check() {
g_time.time6 = new Date,
g_changeNum++;
var t = $('u').value.trim();
if ($('u').value = t, g_uin != t && pt.chkUin(t) || - 1 == pt.checkRet || 3 == pt.checkRet || 0 != pt.cntCheckTimeout) {
clearTimeout(checkClock),
checkClock = setTimeout('checkTimeout()', 5000),
g_uin = $('u').value.trim();
try {
parent.ptui_uin && parent.ptui_uin(g_uin)
} catch (e) {
}
ptui_needVC(g_uin, g_appid)
}
}
function loadVC(t) {
if (isLoadVC != t || lastUin != g_uin) if (lastUin = g_uin, isLoadVC = t, 1 == t) {
var e = $('imgVerify'),
i = pt.needAt ? pt.needAt : g_uin,
n = (pt.isHttps ? 'https://ssl.' : 'http://') + 'captcha.' + g_domain + '/getimage?aid=' + g_appid + '&r=' + Math.random() + '&uin=' + i + '&cap_cd=' + pt.cap_cd;
e.src = n,
$('verifyinput').style.display = '',
$('verifytip').style.display = '',
$('verifyshow').style.display = '',
ptui_notifySize('login');
try {
$('p').focus()
} catch (r) {
}
} else {
$('verifyinput').style.display = 'none',
$('verifytip').style.display = 'none',
$('verifyshow').style.display = 'none',
ptui_notifySize('login');
try {
$('p').focus()
} catch (r) {
}
}
}
function onPageClose() {
ptui_notifyClose()
}
function onFormReset(t) {
return ptui_onReset(t) ? (t.u.style.color = '#CCCCCC', !0) : !1
}
function onClickForgetPwd() {
var t = $('u'),
e = $('label_forget_pwd');
return 2052 == sys.getQueryValue('fgt') && (g_forget = g_forget.replace('1028', 2052)),
e.href = g_forget,
null != t && t.value != str_uintip && (e.href += - 1 == e.href.indexOf('?') ? '?' : '&', e.href += 'aquin=' + t.value),
!0
}
String.prototype.trim = function () {
return this.replace(/(^\s*)|(\s*$)/g, '')
};
var sys = {
$: function (t) {
return document.getElementById(t)
},
onload: function (t) {
var e = window.onload;
window.onload = function () {
'function' == typeof e && e(),
'function' == typeof t && t()
}
},
getQueryValue: function (t, e) {
var i = '';
return i = e ? '&' + e : window.location.search.replace(/(^\?+)|(#\S*$)/g, ''),
i = i.match(new RegExp('(^|&)' + t + '=([^&]*)(&|$)')),
i ? decodeURIComponent(i[2]) : ''
}
},
pt = {
uin: 0,
salt: '',
ckNum: {
},
action: [
0,
0
],
submitN: {
},
err_m: null,
isHttps: !1,
isIpad: !1,
mibao_css: '',
needAt: '',
t_appid: 46000101,
seller_id: 703010802,
needCodeTip: !1,
regmaster: 0,
qrlogin_step: 0,
qrlogin_clock: 0,
qrlogin_timeout: 0,
qrlogin_timeout_time: 70000,
isQrLogin: !1,
qr_uin: '',
qr_nick: '',
dftImg: 'http://imgcache.qq.com/ptlogin/face/1.png',
js_type: 0,
checkRet: - 1,
cntCheckTimeout: 0,
checkErr: {
2052: '网络繁忙,请稍后重试。',
1028: '網絡繁忙,請稍後重試。',
1033: 'The network is busy, please try again later.'
},
pt_verifysession: '',
nlog: function (t, e) {
var i = 'https:' == location.protocol ? 'https://ssl.qq.com/ptlogin/cgi-bin/ptlogin_report?' : 'http://log.wtlogin.qq.com/cgi-bin/ptlogin_report?',
n = encodeURIComponent(t + '|_|' + location.href + '|_|' + window.navigator.userAgent);
e = e ? e : 0,
i += 'id=' + e + '&msg=' + n + '&v=' + Math.random();
var r = new Image;
r.src = i
},
is_weibo_appid: function (t) {
return 46000101 == t || 607000101 == t ? !0 : !1
},
is_mibao: function (t) {
return /^http(s)?:\/\/ui.ptlogin2.(\S)+\/cgi-bin\/mibao_vry/.test(t)
},
chkUin: function (t) {
if (t = t.trim(), 0 == t.length) return !1;
if (window.location.hostname.match(/paipai.com$/) && t.length < 64 && new RegExp(/^[A-Za-z0-9]+@{1}[A-Za-z0-9]+$/).test(t)) return !0;
if (g_appid == pt.seller_id && t.length < 64 && new RegExp(/^[A-Za-z0-9]+@{1}[0-9]+$/).test(t)) return !0;
pt.needAt = '';
var e = pt.chkAccount;
if (pt.is_weibo_appid(g_appid)) {
if (e.isQQ(t) || e.isMail(t)) return !0;
if (e.isNick(t) || e.isName(t)) return pt.needAt = '@' + encodeURIComponent(t),
!0;
if (e.isPhone(t)) return pt.needAt = '@' + t.replace(/^(86|886)/, ''),
!0;
if (e.isSeaPhone(t)) return pt.needAt = '@00' + t.replace(/^(00)/, ''),
/^(@0088609)/.test(pt.needAt) && (pt.needAt = pt.needAt.replace(/^(@0088609)/, '@008869')),
!0;
pt.needAt = ''
} else {
if (e.isQQ(t) || e.isMail(t)) return !0;
if (e.isPhone(t)) return pt.needAt = '@' + t.replace(/^(86|886)/, ''),
!0;
if (e.isNick(t)) return sys.$('u').value = t + '@qq.com',
!0
}
return e.isForeignPhone(t) ? (pt.needAt = '@' + t, !0) : !1
},
chkAccount: {
isQQ: function (t) {
return /^[1-9]{1}\d{4,9}$/.test(t)
},
isQQMail: function (t) {
return /^[1-9]{1}\d{4,9}@qq\.com$/.test(t)
},
isNick: function (t) {
return /^[a-zA-Z]{1}([a-zA-Z0-9]|[-_]){0,19}$/.test(t)
},
isName: function (t) {
return '<请输入帐号>' == t ? !1 : /[\u4E00-\u9FA5]/.test(t) ? t.length > 8 ? !1 : !0 : !1
},
isPhone: function (t) {
return /^(?:86|886|)1\d{10}\s*$/.test(t)
},
isDXPhone: function (t) {
return /^(?:86|886|)1(?:33|53|80|81|89)\d{8}$/.test(t)
},
isSeaPhone: function (t) {
return /^(00)?(?:852|853|886(0)?\d{1})\d{8}$/.test(t)
},
isMail: function (t) {
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(t)
},
isForeignPhone: function (t) {
return /^00\d{7,}/.test(t)
}
},
cookie: {
get: function (t) {
var e = document.cookie.match(new RegExp('(^| )' + t + '=([^;]*)(;|$)'));
return e ? e[2] : ''
},
set: function (t, e) {
var i = arguments,
n = arguments.length,
r = n > 2 ? i[2].toGMTString() : '',
o = n > 3 ? i[3] : '',
a = n > 4 ? i[4] : '',
s = n > 5 ? i[5] : !1;
document.cookie = t + '=' + escape(e) + ';expires =' + r + ';path = ' + o + ';domain =' + a + (1 == s ? ';secure' : ' ')
}
},
html: {
encode: function (t) {
var e = '';
return 0 == t.length ? '' : e = t.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/ /g, ' ').replace(/'/g, ''').replace(/"/g, '"')
}
},
init: function () {
pt.t_appid == g_appid && (sys.$('u') && sys.$('u').setAttribute('style', ''), sys.$('u').style.cssText = ''),
pt.isHttps = /^https/g.test(window.location),
sys.onload(function () {
sys.$('u').value && check(),
pt.err_m = sys.$('err_m'),
1003903 != g_appid && (document.body.onclick = function (t) {
t |= window.event,
pt.action[0]++
}),
document.body.onkeydown = function (t) {
t |= window.event,
pt.action[1]++
},
Math.random() < 0.1 && !pt.isHttps && pt.loadScript('http://mat1.gtimg.com/www/js/common_v2.js', function () {
if ('function' == typeof checkNonTxDomain) try {
checkNonTxDomain(1, 5)
} catch (t) {
}
}),
window.setTimeout(function () {
'http://game.zg.qq.com/index.html' == document.forms[0].u1.value && ptui_reportAttr2('358190'),
ptui_reportAttr2('363629&union=256038', 0.05),
window.g_login_sig || pt.nlog('旧版登录框login_sig为空|_|' + window.g_pt_version, '291551')
}, 1000);
try {
var t = sys.getQueryValue('s_url'),
e = sys.getQueryValue('style'),
i = sys.getQueryValue('appid'),
n = (/paipai.com$/.test(window.location.hostname), sys.getQueryValue('regmaster')),
r = sys.getQueryValue('enable_qlogin');
if (5 == e) {
var o = /\?/g.test(t) ? '&' : '?';
o += 'login2qq=1&webqq_type=10',
t += o
}
var a = 1 == sys.getQueryValue('hide_close_icon') || 1 == sys.getQueryValue('hide_title_bar'),
s = document.createElement('h4');
if (s.innerHTML = '<input type="button" class="btn_close" id="close" name="close" onclick="javascript:onPageClose();" title="关闭" /><u id="label_login_title">用户登录</u>', window.g_href && - 1 == location.href.indexOf(g_href) && /^ui.ptlogin2./.test(location.hostname)) {
if ('http:' == location.protocol) if ('aqjump' == window.g_jumpname && 5 != e && 3 != n && 2 != n) {
a || sys.$('close') || (sys.$('login').insertBefore(s, sys.$('normal_login')), sys.$('login').style.border = '1px');
var p = document.createElement('div');
p.style.textAlign = 'center',
p.innerHTML = '<div style="position:relative;">\r\n\t\t\t\t\t\t\t<br/>\r\n\t\t\t\t\t\t\t<p style="line-height:20px;text-align:left;width:220px;margin:0 auto;">您当前的网络存在链路层劫持,为了确保您的帐号安全,请使用安全登录。</p></div>\r\n\t\t\t\t\t\t\t<input id="safe_login" value="安全登录"" type="button" class="btn" style="text-align:center;"/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div style="margin-top:10px;margin-left:10px; height:20px;">\r\n\t\t\t\t\t\t\t<span style="float:left;height:15px;width:14px; background: url(https://ui.ptlogin2.qq.com/style/14/images/help.png) no-repeat scroll right center transparent;"></span>\r\n\t\t\t\t\t\t\t<a style="float:left; margin-left:5px;" href="http://kf.qq.com/info/80861.html" target="_blank" >什么是链路层劫持</a>\r\n\t\t\t\t\t\t\t</div>',
sys.$('loginform').style.display = 'none',
sys.$('web_login').appendChild(p),
ptui_notifySize('login'),
ptui_reportAttr2(245663);
var c = new Image,
u = encodeURIComponent(window.g_href + '|_|' + location.href + '|_|' + window.g_jumpname + '|_|mid=245663');
c.src = 'http://log.wtlogin.qq.com/cgi-bin/ptlogin_report?msg=' + u + '&v=' + Math.random()
} else {
var c = new Image,
u = encodeURIComponent(window.g_href + '|_|' + location.href + '|_|' + window.g_jumpname + '|_|mid=245580');
c.src = 'http://log.wtlogin.qq.com/cgi-bin/ptlogin_report?id=245580&msg=' + u + '&v=' + Math.random()
} else ptui_reportAttr2('aqjump' == window.g_jumpname ? 245582 : 245581);
switch (g_jumpname = sys.getQueryValue('jumpname'), g_target = sys.getQueryValue('target'), g_target) {
case 'self':
document.forms[0].ptredirect.value = 0;
break;
case 'top':
document.forms[0].ptredirect.value = 1;
break;
case 'parent':
document.forms[0].ptredirect.value = 2;
break;
default:
document.forms[0].ptredirect.value = 1
}
switch (g_qtarget = sys.getQueryValue('qtarget'), g_qtarget) {
case 'self':
g_qtarget = 0;
break;
case 'top':
g_qtarget = 1;
break;
case 'parent':
g_qtarget = 2;
break;
default:
g_qtarget = 1
}
var l = 1;
if ('' != g_jumpname) - 1 != g_qtarget && (l = g_qtarget);
else switch (g_target) {
case 'self':
l = 0;
break;
case 'top':
l = 1;
break;
case 'parent':
l = 2;
break;
default:
l = 1
}
sys.$('safe_login') && (sys.$('safe_login').onclick = function () {
if (1 != l) try {
t = top.location.href
} catch (e) {
}
t = encodeURIComponent(t);
var o = 'https://ui.ptlogin2.qq.com/cgi-bin/login';
window.open(o + '?style=14&pt_safe=1&appid=' + i + '&s_url=' + t + '®master=' + n + '&enable_qlogin=' + r, '_top'),
ptui_reportAttr2(247563)
}, 'none' == sys.$('switch').style.display ? ptui_reportAttr2(248671) : sys.$('switch').onclick = function () {
pt.hasShowSafeTips || (pt.hasShowSafeTips = !0, ptui_reportAttr2(248671))
}),
document.forms[0].u1.value = t,
(3 == n || 2 == n) && (pt.regmaster = n);
var h = 'jump' == g_jumpname || '' == g_jumpname ? encodeURIComponent('u1=' + encodeURIComponent(document.forms[0].u1.value)) : '';
sys.$('xui') && (sys.$('xui').src = sys.$('xui').src + '&jumpname=' + g_jumpname + '¶m=' + h + '&qtarget=' + l + '®master' + n)
}
} catch (f) {
}
}),
pt.mibao_css = window.g_mibao_css;
var t = navigator.userAgent.toLowerCase();
pt.isIpad = /ipad/i.test(t),
pt.needCodeTip = window.needCodeTip ? needCodeTip : !1;
var e = document.loginform.regmaster ? document.loginform.regmaster.value : '';
2 != e && 3 != e || pt.isHttps || (pt.regmaster = e),
pt.dftImg = pt.ishttps ? 'https://ui.ptlogin2.qq.com/face/1.png' : 'http://imgcache.qq.com/ptlogin/face/1.png'
},
show_err: function (t, e) {
if (!pt.isQrLogin) {
var i = pt.html.encode(sys.$('u').value);
return pt.err_m && 'function' == typeof ptui_notifySize ? (e || (t += '<a href="http://support.qq.com/write.shtml?guest=1&fid=713&SSTAG=10011-' + i + '" target="_blank">' + str_yjfk + '</a>'), pt.err_m.innerHTML = t, pt.err_m.style.display = 'block', void ptui_notifySize('login')) : void alert(t)
}
},
hide_err: function () {
return pt.err_m && 'function' == typeof ptui_notifySize ? (pt.err_m.innerHTML = '', pt.err_m.style.display = 'none', void ptui_notifySize('login')) : void 0
},
setHeader: function (t) {
for (var e in t) '' != e && sys.$('qr_head') && (sys.$('qr_head').src = t[e])
},
imgErr: function (t) {
return t.onerror = null,
t.src != pt.dftImg && (t.src = pt.dftImg),
!1
},
setFeeds: function (t) {
for (var e in t) '' != e && sys.$('qr_feeds') && pt.getShortWord(sys.$('qr_feeds'), t[e], 120)
},
get_qrlogin_pic: function () {
var t = 'ptqrshow',
e = (pt.isHttps ? 'https://ssl.' : 'http://') + 'ptlogin2.' + g_domain + '/' + t + '?';
return 2 == pt.regmaster ? e = 'http://ptlogin2.function.qq.com/' + t + '?regmaster=2&' : 3 == pt.regmaster && (e = 'http://ptlogin2.crm2.qq.com/' + t + '?regmaster=3&'),
e += 5 == window.g_style ? 'appid=' + g_appid + '&e=4&l=L&s=8&d=72&v=4' : 'appid=' + g_appid + '&e=2&l=M&s=3&d=72&v=4',
e += '&t=' + Math.random()
},
animate: function (t, e, i, n, r) {
if (t) {
t.effect || (t.effect = {
}),
'undefined' == typeof t.effect.animate && (t.effect.animate = 0);
for (var o in e) e[o] = parseInt(e[o]) || 0;
window.clearInterval(t.effect.animate);
var i = i || 10,
n = n || 20,
a = function (t) {
var e = {
left: t.offsetLeft,
top: t.offsetTop
};
return e
},
s = a(t),
p = {
width: t.clientWidth,
height: t.clientHeight,
left: s.left,
top: s.top
},
c = [
],
u = window.navigator.userAgent.toLowerCase();
if ( - 1 == u.indexOf('msie') || 'BackCompat' != document.compatMode) {
var l = document.defaultView ? document.defaultView.getComputedStyle(t, null) : t.currentStyle,
h = e.width || 0 == e.width ? parseInt(e.width) : null,
f = e.height || 0 == e.height ? parseInt(e.height) : null;
'number' == typeof h && (c.push('width'), e.width = h - l.paddingLeft.replace(/\D/g, '') - l.paddingRight.replace(/\D/g, '')),
'number' == typeof f && (c.push('height'), e.height = f - l.paddingTop.replace(/\D/g, '') - l.paddingBottom.replace(/\D/g, '')),
15 > n && (i = Math.floor(15 * i / n), n = 15)
}
var g = e.left || 0 == e.left ? parseInt(e.left) : null,
m = e.top || 0 == e.top ? parseInt(e.top) : null;
'number' == typeof g && (c.push('left'), t.style.position = 'absolute'),
'number' == typeof m && (c.push('top'), t.style.position = 'absolute');
for (var d = [
], _ = c.length, o = 0; _ > o; o++) d[c[o]] = p[c[o]] < e[c[o]] ? 1 : - 1;
var v = t.style,
y = function () {
for (var n = !0, o = 0; _ > o; o++) p[c[o]] = p[c[o]] + d[c[o]] * Math.abs(e[c[o]] - Math.floor(p[c[o]]) * i / 100),
(Math.round(p[c[o]]) - e[c[o]]) * d[c[o]] >= 0 ? (n = n && !0, v[c[o]] = e[c[o]] + 'px') : (n = n && !1, v[c[o]] = p[c[o]] + 'px');
n && (window.clearInterval(t.effect.animate), 'function' == typeof r && r(t))
};
t.effect.animate = window.setInterval(y, n)
}
},
go_qrlogin_step: function (t) {
switch (t) {
case 1:
sys.$('qrlogin_step1').style.display = 'block',
sys.$('qrlogin_step2').style.display = 'none',
sys.$('qrlogin_step3').style.display = 'none';
break;
case 2:
sys.$('qrlogin_step1').style.display = 'none',
sys.$('qrlogin_step2').style.display = 'block',
sys.$('qrlogin_step3').style.display = 'none';
break;
case 3:
sys.$('qr_nick').innerHTML = pt.html.encode(pt.qr_nick),
sys.$('qr_uin').innerHTML = pt.qr_uin,
sys.$('qrlogin_step3').style.display = 'block',
sys.$('qrlogin_step2').style.display = 'none',
sys.$('qrlogin_step1').style.display = 'none';
var e = (sys.$('qrlogin_step3').offsetWidth - sys.$('qr_card').offsetWidth) / 2,
i = (sys.$('qrlogin_step3').offsetWidth - 270) / 2;
pt.animate(sys.$('qr_card'), {
left: e,
top: 20
}, 20, 20, function () {
pt.animate(sys.$('qr_card'), {
width: 270,
height: 120,
left: i,
top: 0
})
})
}
},
switch_qrlogin: function (t) {
t ? (ptui_reportAttr2(228433), sys.$('normal_login').style.display = 'none', sys.$('qrlogin').style.display = 'block', pt.go_qrlogin_step(1), sys.$('qrlogin_img').src = pt.get_qrlogin_pic(), pt.qrlogin_clock = window.setInterval('qrlogin_submit();', 2000), window.clearTimeout(pt.qrlogin_timeout), pt.qrlogin_timeout = window.setTimeout(function () {
pt.switch_qrlogin(!1)
}, pt.qrlogin_timeout_time)) : (sys.$('qrlogin').style.display = 'none', sys.$('normal_login').style.display = 'block', window.clearInterval(pt.qrlogin_clock), window.clearTimeout(pt.qrlogin_timeout)),
pt.isQrLogin = t,
ptui_notifySize('login')
},
force_qrlogin: function (t) {
if (5 == window.g_style) {
switch (t + '') {
case '10005':
msg = '对不起,你的号码登录异常,请前往SmartQQ扫描二维码安全登录,<a href=\'http://w.qq.com/login.html?f_qr=1\' target=\'_blank\'>立刻前往,</a><a href=\'http://ptlogin2.qq.com/qq_cheat_help\' target=\'_blank\'>帮助反馈。</a>';
break;
case '10006':
msg = '你已开启登录设备保护,请前往SmartQQ使用最新的QQ手机版扫描二维码安全登录,<a href=\'http://w.qq.com/login.html?f_qr=1\' target=\'_blank\'>立刻前往。</a>';
break;
default:
msg = '对不起,你的号码登录异常,请前往SmartQQ扫描二维码安全登录,<a href=\'http://w.qq.com/login.html?f_qr=1\' target=\'_blank\'>立刻前往。</a>'
}
pt.show_err(msg, 10005 == t)
}
},
no_force_qrlogin: function () {
},
getShortWord: function (t, e, i) {
i = t.getAttribute('w') || i,
e = e ? e : '';
var n = '...';
if (t.innerHTML = pt.html.encode(e), t.clientWidth <= i);
else for (var r = Math.min(e.length, 20), o = r; o > 0; o--) {
var a = e.substring(0, o);
if (t.innerHTML = pt.html.encode(a + n), t.clientWidth <= i) break
}
t.style.width = i + 'px'
},
bind_account: function () {
window.open('http://id.qq.com/index.html#account'),
ptui_reportAttr2('234964')
},
loadScript: function (t, e) {
var i = document.createElement('script');
i.charset = 'UTF-8',
i.onload = i.onreadystatechange = function () {
this.readyState && 'loaded' !== this.readyState && 'complete' !== this.readyState || ('function' == typeof e && e(i), i.onload = i.onreadystatechange = null, i.parentNode && i.parentNode.removeChild(i))
},
i.src = t,
document.getElementsByTagName('head') [0].appendChild(i)
},
clearScript: function (t) {
window.setTimeout(function () {
t.parentNode.removeChild(t)
}, 5000)
},
winName: {
set: function (t, e) {
var i = window.name || '';
window.name = i.match(new RegExp(';' + t + '=([^;]*)(;|$)')) ? i.replace(new RegExp(';' + t + '=([^;]*)'), ';' + t + '=' + e) : i + ';' + t + '=' + e
},
get: function (t) {
var e = window.name || '',
i = e.match(new RegExp(';' + t + '=([^;]*)(;|$)'));
return i ? i[1] : ''
},
clear: function (t) {
var e = window.name || '';
window.name = e.replace(new RegExp(';' + t + '=([^;]*)'), '')
}
}
};
pt.init();
var checkClock = 0,
lastUin = 1,
t_appid = 46000101,
g_changeNum = 0,
changeimg = !1,
defaultuin = '',
login_param = g_href.substring(g_href.indexOf('?') + 1),
g_ptredirect = - 1,
g_xmlhttp,
g_loadcheck = !0,
g_submitting = !1;
isAbleSubmit = !0,
$ = window.$ || {
},
$pt = window.$pt || {
},
$.RSA = $pt.RSA = function () {
function t(t, e) {
return new a(t, e)
}
function e(t, e) {
if (e < t.length + 11) return uv_alert('Message too long for RSA'),
null;
for (var i = new Array, n = t.length - 1; n >= 0 && e > 0; ) {
var r = t.charCodeAt(n--);
i[--e] = r
}
i[--e] = 0;
for (var o = new Y, s = new Array; e > 2; ) {
for (s[0] = 0; 0 == s[0]; ) o.nextBytes(s);
i[--e] = s[0]
}
return i[--e] = 2,
i[--e] = 0,
new a(i)
}
function i() {
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 n(e, i) {
null != e && null != i && e.length > 0 && i.length > 0 ? (this.n = t(e, 16), this.e = parseInt(i, 16)) : uv_alert('Invalid RSA public key')
}
function r(t) {
return t.modPowInt(this.e, this.n)
}
function o(t) {
var i = e(t, this.n.bitLength() + 7 >> 3);
if (null == i) return null;
var n = this.doPublic(i);
if (null == n) return null;
var r = n.toString(16);
return 0 == (1 & r.length) ? r : '0' + r
}
function a(t, e, i) {
null != t && ('number' == typeof t ? this.fromNumber(t, e, i) : null == e && 'string' != typeof t ? this.fromString(t, 256) : this.fromString(t, e))
}
function s() {
return new a(null)
}
function p(t, e, i, n, r, o) {
for (; --o >= 0; ) {
var a = e * this[t++] + i[n] + r;
r = Math.floor(a / 67108864),
i[n++] = 67108863 & a
}
return r
}
function c(t, e, i, n, r, o) {
for (var a = 32767 & e, s = e >> 15; --o >= 0; ) {
var p = 32767 & this[t],
c = this[t++] >> 15,
u = s * p + c * a;
p = a * p + ((32767 & u) << 15) + i[n] + (1073741823 & r),
r = (p >>> 30) + (u >>> 15) + s * c + (r >>> 30),
i[n++] = 1073741823 & p
}
return r
}
function u(t, e, i, n, r, o) {
for (var a = 16383 & e, s = e >> 14; --o >= 0; ) {
var p = 16383 & this[t],
c = this[t++] >> 14,
u = s * p + c * a;
p = a * p + ((16383 & u) << 14) + i[n] + r,
r = (p >> 28) + (u >> 14) + s * c,
i[n++] = 268435455 & p
}
return r
}
function l(t) {
return lt.charAt(t)
}
function h(t, e) {
var i = ht[t.charCodeAt(e)];
return null == i ? - 1 : i
}
function f(t) {
for (var e = this.t - 1; e >= 0; --e) t[e] = this[e];
t.t = this.t,
t.s = this.s
}
function g(t) {
this.t = 1,
this.s = 0 > t ? - 1 : 0,
t > 0 ? this[0] = t : - 1 > t ? this[0] = t + DV : this.t = 0
}
function m(t) {
var e = s();
return e.fromInt(t),
e
}
function d(t, e) {
var i;
if (16 == e) i = 4;
else if (8 == e) i = 3;
else if (256 == e) i = 8;
else if (2 == e) i = 1;
else if (32 == e) i = 5;
else {
if (4 != e) return void this.fromRadix(t, e);
i = 2
}
this.t = 0,
this.s = 0;
for (var n = t.length, r = !1, o = 0; --n >= 0; ) {
var s = 8 == i ? 255 & t[n] : h(t, n);
0 > s ? '-' == t.charAt(n) && (r = !0) : (r = !1, 0 == o ? this[this.t++] = s : o + i > this.DB ? (this[this.t - 1] |= (s & (1 << this.DB - o) - 1) << o, this[this.t++] = s >> this.DB - o) : this[this.t - 1] |= s << o, o += i, o >= this.DB && (o -= this.DB))
}
8 == i && 0 != (128 & t[0]) && (this.s = - 1, o > 0 && (this[this.t - 1] |= (1 << this.DB - o) - 1 << o)),
this.clamp(),
r && a.ZERO.subTo(this, this)
}
function _() {
for (var t = this.s & this.DM; this.t > 0 && this[this.t - 1] == t; ) --this.t
}
function v(t) {
if (this.s < 0) return '-' + this.negate().toString(t);
var e;
if (16 == t) e = 4;
else if (8 == t) e = 3;
else if (2 == t) e = 1;
else if (32 == t) e = 5;
else {
if (4 != t) return this.toRadix(t);
e = 2
}
var i,
n = (1 << e) - 1,
r = !1,
o = '',
a = this.t,
s = this.DB - a * this.DB % e;
if (a-- > 0) for (s < this.DB && (i = this[a] >> s) > 0 && (r = !0, o = l(i)); a >= 0; ) e > s ? (i = (this[a] & (1 << s) - 1) << e - s, i |= this[--a] >> (s += this.DB - e)) : (i = this[a] >> (s -= e) & n, 0 >= s && (s += this.DB, --a)),
i > 0 && (r = !0),
r && (o += l(i));
return r ? o : '0'
}
function y() {
var t = s();
return a.ZERO.subTo(this, t),
t
}
function w() {
return this.s < 0 ? this.negate() : this
}
function b(t) {
var e = this.s - t.s;
if (0 != e) return e;
var i = this.t;
if (e = i - t.t, 0 != e) return e;
for (; --i >= 0; ) if (0 != (e = this[i] - t[i])) return e;
return 0
}
function A(t) {
var e,
i = 1;
return 0 != (e = t >>> 16) && (t = e, i += 16),
0 != (e = t >> 8) && (t = e, i += 8),
0 != (e = t >> 4) && (t = e, i += 4),
0 != (e = t >> 2) && (t = e, i += 2),
0 != (e = t >> 1) && (t = e, i += 1),
i
}
function q() {
return this.t <= 0 ? 0 : this.DB * (this.t - 1) + A(this[this.t - 1] ^ this.s & this.DM)
}
function k(t, e) {
var i;
for (i = this.t - 1; i >= 0; --i) e[i + t] = this[i];
for (i = t - 1; i >= 0; --i) e[i] = 0;
e.t = this.t + t,
e.s = this.s
}
function C(t, e) {
for (var i = t; i < this.t; ++i) e[i - t] = this[i];
e.t = Math.max(this.t - t, 0),
e.s = this.s
}
function $(t, e) {
var i,
n = t % this.DB,
r = this.DB - n,
o = (1 << r) - 1,
a = Math.floor(t / this.DB),
s = this.s << n & this.DM;
for (i = this.t - 1; i >= 0; --i) e[i + a + 1] = this[i] >> r | s,
s = (this[i] & o) << n;
for (i = a - 1; i >= 0; --i) e[i] = 0;
e[a] = s,
e.t = this.t + a + 1,
e.s = this.s,
e.clamp()
}
function T(t, e) {
e.s = this.s;
var i = Math.floor(t / this.DB);
if (i >= this.t) return void (e.t = 0);
var n = t % this.DB,
r = this.DB - n,
o = (1 << n) - 1;
e[0] = this[i] >> n;
for (var a = i + 1; a < this.t; ++a) e[a - i - 1] |= (this[a] & o) << r,
e[a - i] = this[a] >> n;
n > 0 && (e[this.t - i - 1] |= (this.s & o) << r),
e.t = this.t - i,
e.clamp()
}
function S(t, e) {
for (var i = 0, n = 0, r = Math.min(t.t, this.t); r > i; ) n += this[i] - t[i],
e[i++] = n & this.DM,
n >>= this.DB;
if (t.t < this.t) {
for (n -= t.s; i < this.t; ) n += this[i],
e[i++] = n & this.DM,
n >>= this.DB;
n += this.s
} else {
for (n += this.s; i < t.t; ) n -= t[i],
e[i++] = n & this.DM,
n >>= this.DB;
n -= t.s
}
e.s = 0 > n ? - 1 : 0,
- 1 > n ? e[i++] = this.DV + n : n > 0 && (e[i++] = n),
e.t = i,
e.clamp()
}
function D(t, e) {
var i = this.abs(),
n = t.abs(),
r = i.t;
for (e.t = r + n.t; --r >= 0; ) e[r] = 0;
for (r = 0; r < n.t; ++r) e[r + i.t] = i.am(0, n[r], e, r, 0, i.t);
e.s = 0,
e.clamp(),
this.s != t.s && a.ZERO.subTo(e, e)
}
function x(t) {
for (var e = this.abs(), i = t.t = 2 * e.t; --i >= 0; ) t[i] = 0;
for (i = 0; i < e.t - 1; ++i) {
var n = e.am(i, e[i], t, 2 * i, 0, 1);
(t[i + e.t] += e.am(i + 1, 2 * e[i], t, 2 * i + 1, n, e.t - i - 1)) >= e.DV && (t[i + e.t] -= e.DV, t[i + e.t + 1] = 1)
}
t.t > 0 && (t[t.t - 1] += e.am(i, e[i], t, 2 * i, 0, 1)),
t.s = 0,
t.clamp()
}
function E(t, e, i) {
var n = t.abs();
if (!(n.t <= 0)) {
var r = this.abs();
if (r.t < n.t) return null != e && e.fromInt(0),
void (null != i && this.copyTo(i));
null == i && (i = s());
var o = s(),
p = this.s,
c = t.s,
u = this.DB - A(n[n.t - 1]);
u > 0 ? (n.lShiftTo(u, o), r.lShiftTo(u, i)) : (n.copyTo(o), r.copyTo(i));
var l = o.t,
h = o[l - 1];
if (0 != h) {
var f = h * (1 << this.F1) + (l > 1 ? o[l - 2] >> this.F2 : 0),
g = this.FV / f,
m = (1 << this.F1) / f,
d = 1 << this.F2,
_ = i.t,
v = _ - l,
y = null == e ? s() : e;
for (o.dlShiftTo(v, y), i.compareTo(y) >= 0 && (i[i.t++] = 1, i.subTo(y, i)), a.ONE.dlShiftTo(l, y), y.subTo(o, o); o.t < l; ) o[o.t++] = 0;
for (; --v >= 0; ) {
var w = i[--_] == h ? this.DM : Math.floor(i[_] * g + (i[_ - 1] + d) * m);
if ((i[_] += o.am(0, w, i, v, 0, l)) < w) for (o.dlShiftTo(v, y), i.subTo(y, i); i[_] < --w; ) i.subTo(y, i)
}
null != e && (i.drShiftTo(l, e), p != c && a.ZERO.subTo(e, e)),
i.t = l,
i.clamp(),
u > 0 && i.rShiftTo(u, i),
0 > p && a.ZERO.subTo(i, i)
}
}
}
function R(t) {
var e = s();
return this.abs().divRemTo(t, null, e),
this.s < 0 && e.compareTo(a.ZERO) > 0 && t.subTo(e, e),
e
}
function B(t) {
this.m = t
}
function M(t) {
return t.s < 0 || t.compareTo(this.m) >= 0 ? t.mod(this.m) : t
}
function I(t) {
return t
}
function V(t) {
t.divRemTo(this.m, null, t)
}
function j(t, e, i) {
t.multiplyTo(e, i),
this.reduce(i)
}
function L(t, e) {
t.squareTo(e),
this.reduce(e)
}
function N() {
if (this.t < 1) return 0;
var t = this[0];
if (0 == (1 & t)) return 0;
var e = 3 & t;
return e = e * (2 - (15 & t) * e) & 15,
e = e * (2 - (255 & t) * e) & 255,
e = e * (2 - ((65535 & t) * e & 65535)) & 65535,
e = e * (2 - t * e % this.DV) % this.DV,
e > 0 ? this.DV - e : - e
}
function F(t) {
this.m = t,
this.mp = t.invDigit(),
this.mpl = 32767 & this.mp,
this.mph = this.mp >> 15,
this.um = (1 << t.DB - 15) - 1,
this.mt2 = 2 * t.t
}
function Q(t) {
var e = s();
return t.abs().dlShiftTo(this.m.t, e),
e.divRemTo(this.m, null, e),
t.s < 0 && e.compareTo(a.ZERO) > 0 && this.m.subTo(e, e),
e
}
function H(t) {
var e = s();
return t.copyTo(e),
this.reduce(e),
e
}
function z(t) {
for (; t.t <= this.mt2; ) t[t.t++] = 0;
for (var e = 0; e < this.m.t; ++e) {
var i = 32767 & t[e],
n = i * this.mpl + ((i * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM;
for (i = e + this.m.t, t[i] += this.m.am(0, n, t, e, 0, this.m.t); t[i] >= t.DV; ) t[i] -= t.DV,
t[++i]++
}
t.clamp(),
t.drShiftTo(this.m.t, t),
t.compareTo(this.m) >= 0 && t.subTo(this.m, t)
}
function U(t, e) {
t.squareTo(e),
this.reduce(e)
}
function P(t, e, i) {
t.multiplyTo(e, i),
this.reduce(i)
}
function O() {
return 0 == (this.t > 0 ? 1 & this[0] : this.s)
}
function Z(t, e) {
if (t > 4294967295 || 1 > t) return a.ONE;
var i = s(),
n = s(),
r = e.convert(this),
o = A(t) - 1;
for (r.copyTo(i); --o >= 0; ) if (e.sqrTo(i, n), (t & 1 << o) > 0) e.mulTo(n, r, i);
else {
var p = i;
i = n,
n = p
}
return e.revert(i)
}
function W(t, e) {
var i;
return i = 256 > t || e.isEven() ? new B(e) : new F(e),
this.exp(t, i)
}
function X(t) {
gt[mt++] ^= 255 & t,
gt[mt++] ^= t >> 8 & 255,
gt[mt++] ^= t >> 16 & 255,
gt[mt++] ^= t >> 24 & 255,
mt >= vt && (mt -= vt)
}
function G() {
X((new Date).getTime())
}
function J() {
if (null == ft) {
for (G(), ft = nt(), ft.init(gt), mt = 0; mt < gt.length; ++mt) gt[mt] = 0;
mt = 0
}
return ft.next()
}
function K(t) {
var e;
for (e = 0; e < t.length; ++e) t[e] = J()
}
function Y() {
}
function tt() {
this.i = 0,
this.j = 0,
this.S = new Array
}
function et(t) {
var e,
i,
n;
for (e = 0; 256 > e; ++e) this.S[e] = e;
for (i = 0, e = 0; 256 > e; ++e) i = i + this.S[e] + t[e % t.length] & 255,
n = this.S[e],
this.S[e] = this.S[i],
this.S[i] = n;
this.i = 0,
this.j = 0
}
function it() {
var t;
return this.i = this.i + 1 & 255,
this.j = this.j + this.S[this.i] & 255,
t = this.S[this.i],
this.S[this.i] = this.S[this.j],
this.S[this.j] = t,
this.S[t + this.S[this.i] & 255]
}
function nt() {
return new tt
}
function rt(t, e, n) {
e = 'F20CE00BAE5361F8FA3AE9CEFA495362FF7DA1BA628F64A347F0A8C012BF0B254A30CD92ABFFE7A6EE0DC424CB6166F8819EFA5BCCB20EDFB4AD02E412CCF579B1CA711D55B8B0B3AEB60153D5E0693A2A86F3167D7847A0CB8B00004716A9095D9BADC977CBB804DBDCBA6029A9710869A453F27DFDDF83C016D928B3CBF4C7',
n = '3';
var r = new i;
return r.setPublic(e, n),
r.encrypt(t)
}
i.prototype.doPublic = r,
i.prototype.setPublic = n,
i.prototype.encrypt = o;
var ot,
at = 244837814094590,
st = 15715070 == (16777215 & at);
st && 'Microsoft Internet Explorer' == navigator.appName ? (a.prototype.am = c, ot = 30) : st && 'Netscape' != navigator.appName ? (a.prototype.am = p, ot = 26) : (a.prototype.am = u, ot = 28),
a.prototype.DB = ot,
a.prototype.DM = (1 << ot) - 1,
a.prototype.DV = 1 << ot;
var pt = 52;
a.prototype.FV = Math.pow(2, pt),
a.prototype.F1 = pt - ot,
a.prototype.F2 = 2 * ot - pt;
var ct,
ut,
lt = '0123456789abcdefghijklmnopqrstuvwxyz',
ht = new Array;
for (ct = '0'.charCodeAt(0), ut = 0; 9 >= ut; ++ut) ht[ct++] = ut;
for (ct = 'a'.charCodeAt(0), ut = 10; 36 > ut; ++ut) ht[ct++] = ut;
for (ct = 'A'.charCodeAt(0), ut = 10; 36 > ut; ++ut) ht[ct++] = ut;
B.prototype.convert = M,
B.prototype.revert = I,
B.prototype.reduce = V,
B.prototype.mulTo = j,
B.prototype.sqrTo = L,
F.prototype.convert = Q,
F.prototype.revert = H,
F.prototype.reduce = z,
F.prototype.mulTo = P,
F.prototype.sqrTo = U,
a.prototype.copyTo = f,
a.prototype.fromInt = g,
a.prototype.fromString = d,
a.prototype.clamp = _,
a.prototype.dlShiftTo = k,
a.prototype.drShiftTo = C,
a.prototype.lShiftTo = $,
a.prototype.rShiftTo = T,
a.prototype.subTo = S,
a.prototype.multiplyTo = D,
a.prototype.squareTo = x,
a.prototype.divRemTo = E,
a.prototype.invDigit = N,
a.prototype.isEven = O,
a.prototype.exp = Z,
a.prototype.toString = v,
a.prototype.negate = y,
a.prototype.abs = w,
a.prototype.compareTo = b,
a.prototype.bitLength = q,
a.prototype.mod = R,
a.prototype.modPowInt = W,
a.ZERO = m(0),
a.ONE = m(1);
var ft,
gt,
mt;
if (null == gt) {
gt = new Array,
mt = 0;
var dt;
if ('Netscape' == navigator.appName && navigator.appVersion < '5' && window.crypto && window.crypto.random) {
var _t = window.crypto.random(32);
for (dt = 0; dt < _t.length; ++dt) gt[mt++] = 255 & _t.charCodeAt(dt)
}
for (; vt > mt; ) dt = Math.floor(65536 * Math.random()),
gt[mt++] = dt >>> 8,
gt[mt++] = 255 & dt;
mt = 0,
G()
}
Y.prototype.nextBytes = K,
tt.prototype.init = et,
tt.prototype.next = it;
var vt = 256;
return {
rsa_encrypt: rt
}
}(),
function (t) {
function e() {
return Math.round(4294967295 * Math.random())
}
function i(t, e, i) {
(!i || i > 4) && (i = 4);
for (var n = 0, r = e; e + i > r; r++) n <<= 8,
n |= t[r];
return (4294967295 & n) >>> 0
}
function n(t, e, i) {
t[e + 3] = i >> 0 & 255,
t[e + 2] = i >> 8 & 255,
t[e + 1] = i >> 16 & 255,
t[e + 0] = i >> 24 & 255
}
function r(t) {
if (!t) return '';
for (var e = '', i = 0; i < t.length; i++) {
var n = Number(t[i]).toString(16);
1 == n.length && (n = '0' + n),
e += n
}
return e
}
function o(t) {
for (var e = '', i = 0; i < t.length; i += 2) e += String.fromCharCode(parseInt(t.substr(i, 2), 16));
return e
}
function a(t, e) {
if (!t) return '';
e && (t = s(t));
for (var i = [
], n = 0; n < t.length; n++) i[n] = t.charCodeAt(n);
return r(i)
}
function s(t) {
var e,
i,
n = [
],
r = t.length;
for (e = 0; r > e; e++) i = t.charCodeAt(e),
i > 0 && 127 >= i ? n.push(t.charAt(e)) : i >= 128 && 2047 >= i ? n.push(String.fromCharCode(192 | i >> 6 & 31), String.fromCharCode(128 | 63 & i)) : i >= 2048 && 65535 >= i && n.push(String.fromCharCode(224 | i >> 12 & 15), String.fromCharCode(128 | i >> 6 & 63), String.fromCharCode(128 | 63 & i));
return n.join('')
}
function p(t) {
_ = new Array(8),
v = new Array(8),
y = w = 0,
q = !0,
d = 0;
var i = t.length,
n = 0;
d = (i + 10) % 8,
0 != d && (d = 8 - d),
b = new Array(i + d + 10),
_[0] = 255 & (248 & e() | d);
for (var r = 1; d >= r; r++) _[r] = 255 & e();
d++;
for (var r = 0; 8 > r; r++) v[r] = 0;
for (n = 1; 2 >= n; ) 8 > d && (_[d++] = 255 & e(), n++),
8 == d && u();
for (var r = 0; i > 0; ) 8 > d && (_[d++] = t[r++], i--),
8 == d && u();
for (n = 1; 7 >= n; ) 8 > d && (_[d++] = 0, n++),
8 == d && u();
return b
}
function c(t) {
var e = 0,
i = new Array(8),
n = t.length;
if (A = t, n % 8 != 0 || 16 > n) return null;
if (v = h(t), d = 7 & v[0], e = n - d - 10, 0 > e) return null;
for (var r = 0; r < i.length; r++) i[r] = 0;
b = new Array(e),
w = 0,
y = 8,
d++;
for (var o = 1; 2 >= o; ) if (8 > d && (d++, o++), 8 == d && (i = t, !f())) return null;
for (var r = 0; 0 != e; ) if (8 > d && (b[r] = 255 & (i[w + d] ^ v[d]), r++, e--, d++), 8 == d && (i = t, w = y - 8, !f())) return null;
for (o = 1; 8 > o; o++) {
if (8 > d) {
if (0 != (i[w + d] ^ v[d])) return null;
d++
}
if (8 == d && (i = t, w = y, !f())) return null
}
return b
}
function u() {
for (var t = 0; 8 > t; t++) _[t] ^= q ? v[t] : b[w + t];
for (var e = l(_), t = 0; 8 > t; t++) b[y + t] = e[t] ^ v[t],
v[t] = _[t];
w = y,
y += 8,
d = 0,
q = !1
}
function l(t) {
for (var e = 16, r = i(t, 0, 4), o = i(t, 4, 4), a = i(m, 0, 4), s = i(m, 4, 4), p = i(m, 8, 4), c = i(m, 12, 4), u = 0, l = 2654435769; e-- > 0; ) u += l,
u = (4294967295 & u) >>> 0,
r += (o << 4) + a ^ o + u ^ (o >>> 5) + s,
r = (4294967295 & r) >>> 0,
o += (r << 4) + p ^ r + u ^ (r >>> 5) + c,
o = (4294967295 & o) >>> 0;
var h = new Array(8);
return n(h, 0, r),
n(h, 4, o),
h
}
function h(t) {
for (var e = 16, r = i(t, 0, 4), o = i(t, 4, 4), a = i(m, 0, 4), s = i(m, 4, 4), p = i(m, 8, 4), c = i(m, 12, 4), u = 3816266640, l = 2654435769; e-- > 0; ) o -= (r << 4) + p ^ r + u ^ (r >>> 5) + c,
o = (4294967295 & o) >>> 0,
r -= (o << 4) + a ^ o + u ^ (o >>> 5) + s,
r = (4294967295 & r) >>> 0,
u -= l,
u = (4294967295 & u) >>> 0;
var h = new Array(8);
return n(h, 0, r),
n(h, 4, o),
h
}
function f() {
for (var t = (A.length, 0); 8 > t; t++) v[t] ^= A[y + t];
return v = h(v),
y += 8,
d = 0,
!0
}
function g(t, e) {
var i = [
];
if (e) for (var n = 0; n < t.length; n++) i[n] = 255 & t.charCodeAt(n);
else for (var r = 0, n = 0; n < t.length; n += 2) i[r++] = parseInt(t.substr(n, 2), 16);
return i
}
var m = '',
d = 0,
_ = [
],
v = [
],
y = 0,
w = 0,
b = [
],
A = [
],
q = !0;
t.TEA = {
encrypt: function (t, e) {
var i = g(t, e),
n = p(i);
return r(n)
},
enAsBase64: function (t, e) {
for (var i = g(t, e), n = p(i), r = '', o = 0; o < n.length; o++) r += String.fromCharCode(n[o]);
return btoa(r)
},
decrypt: function (t) {
var e = g(t, !1),
i = c(e);
return r(i)
},
initkey: function (t, e) {
m = g(t, e)
},
bytesToStr: o,
strToBytes: a,
bytesInStr: r,
dataFromStr: g
};
var k = {
};
k.PADCHAR = '=',
k.ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',
k.getbyte = function (t, e) {
var i = t.charCodeAt(e);
if (i > 255) throw 'INVALID_CHARACTER_ERR: DOM Exception 5';
return i
},
k.encode = function (t) {
if (1 != arguments.length) throw 'SyntaxError: Not enough arguments';
var e,
i,
n = k.PADCHAR,
r = k.ALPHA,
o = k.getbyte,
a = [
];
t = '' + t;
var s = t.length - t.length % 3;
if (0 == t.length) return t;
for (e = 0; s > e; e += 3) i = o(t, e) << 16 | o(t, e + 1) << 8 | o(t, e + 2),
a.push(r.charAt(i >> 18)),
a.push(r.charAt(i >> 12 & 63)),
a.push(r.charAt(i >> 6 & 63)),
a.push(r.charAt(63 & i));
switch (t.length - s) {
case 1:
i = o(t, e) << 16,
a.push(r.charAt(i >> 18) + r.charAt(i >> 12 & 63) + n + n);
break;
case 2:
i = o(t, e) << 16 | o(t, e + 1) << 8,
a.push(r.charAt(i >> 18) + r.charAt(i >> 12 & 63) + r.charAt(i >> 6 & 63) + n)
}
return a.join('')
},
window.btoa || (window.btoa = k.encode)
}(window),
$ = window.$ || {
},
$pt = window.$pt || {
},
$.Encryption = $pt.Encryption = function () {
function md5(t) {
return hex_md5(t)
}
function hex_md5(t) {
return binl2hex(core_md5(str2binl(t), t.length * chrsz))
}
function str_md5(t) {
return binl2str(core_md5(str2binl(t), t.length * chrsz))
}
function hex_hmac_md5(t, e) {
return binl2hex(core_hmac_md5(t, e))
}
function b64_hmac_md5(t, e) {
return binl2b64(core_hmac_md5(t, e))
}
function str_hmac_md5(t, e) {
return binl2str(core_hmac_md5(t, e))
}
function core_md5(t, e) {
t[e >> 5] |= 128 << e % 32,
t[(e + 64 >>> 9 << 4) + 14] = e;
for (var i = 1732584193, n = - 271733879, r = - 1732584194, o = 271733878, a = 0; a < t.length; a += 16) {
var s = i,
p = n,
c = r,
u = o;
i = md5_ff(i, n, r, o, t[a + 0], 7, - 680876936),
o = md5_ff(o, i, n, r, t[a + 1], 12, - 389564586),
r = md5_ff(r, o, i, n, t[a + 2], 17, 606105819),
n = md5_ff(n, r, o, i, t[a + 3], 22, - 1044525330),
i = md5_ff(i, n, r, o, t[a + 4], 7, - 176418897),
o = md5_ff(o, i, n, r, t[a + 5], 12, 1200080426),
r = md5_ff(r, o, i, n, t[a + 6], 17, - 1473231341),
n = md5_ff(n, r, o, i, t[a + 7], 22, - 45705983),
i = md5_ff(i, n, r, o, t[a + 8], 7, 1770035416),
o = md5_ff(o, i, n, r, t[a + 9], 12, - 1958414417),
r = md5_ff(r, o, i, n, t[a + 10], 17, - 42063),
n = md5_ff(n, r, o, i, t[a + 11], 22, - 1990404162),
i = md5_ff(i, n, r, o, t[a + 12], 7, 1804603682),
o = md5_ff(o, i, n, r, t[a + 13], 12, - 40341101),
r = md5_ff(r, o, i, n, t[a + 14], 17, - 1502002290),
n = md5_ff(n, r, o, i, t[a + 15], 22, 1236535329),
i = md5_gg(i, n, r, o, t[a + 1], 5, - 165796510),
o = md5_gg(o, i, n, r, t[a + 6], 9, - 1069501632),
r = md5_gg(r, o, i, n, t[a + 11], 14, 643717713),
n = md5_gg(n, r, o, i, t[a + 0], 20, - 373897302),
i = md5_gg(i, n, r, o, t[a + 5], 5, - 701558691),
o = md5_gg(o, i, n, r, t[a + 10], 9, 38016083),
r = md5_gg(r, o, i, n, t[a + 15], 14, - 660478335),
n = md5_gg(n, r, o, i, t[a + 4], 20, - 405537848),
i = md5_gg(i, n, r, o, t[a + 9], 5, 568446438),
o = md5_gg(o, i, n, r, t[a + 14], 9, - 1019803690),
r = md5_gg(r, o, i, n, t[a + 3], 14, - 187363961),
n = md5_gg(n, r, o, i, t[a + 8], 20, 1163531501),
i = md5_gg(i, n, r, o, t[a + 13], 5, - 1444681467),
o = md5_gg(o, i, n, r, t[a + 2], 9, - 51403784),
r = md5_gg(r, o, i, n, t[a + 7], 14, 1735328473),
n = md5_gg(n, r, o, i, t[a + 12], 20, - 1926607734),
i = md5_hh(i, n, r, o, t[a + 5], 4, - 378558),
o = md5_hh(o, i, n, r, t[a + 8], 11, - 2022574463),
r = md5_hh(r, o, i, n, t[a + 11], 16, 1839030562),
n = md5_hh(n, r, o, i, t[a + 14], 23, - 35309556),
i = md5_hh(i, n, r, o, t[a + 1], 4, - 1530992060),
o = md5_hh(o, i, n, r, t[a + 4], 11, 1272893353),
r = md5_hh(r, o, i, n, t[a + 7], 16, - 155497632),
n = md5_hh(n, r, o, i, t[a + 10], 23, - 1094730640),
i = md5_hh(i, n, r, o, t[a + 13], 4, 681279174),
o = md5_hh(o, i, n, r, t[a + 0], 11, - 358537222),
r = md5_hh(r, o, i, n, t[a + 3], 16, - 722521979),
n = md5_hh(n, r, o, i, t[a + 6], 23, 76029189),
i = md5_hh(i, n, r, o, t[a + 9], 4, - 640364487),
o = md5_hh(o, i, n, r, t[a + 12], 11, - 421815835),
r = md5_hh(r, o, i, n, t[a + 15], 16, 530742520),
n = md5_hh(n, r, o, i, t[a + 2], 23, - 995338651),
i = md5_ii(i, n, r, o, t[a + 0], 6, - 198630844),
o = md5_ii(o, i, n, r, t[a + 7], 10, 1126891415),
r = md5_ii(r, o, i, n, t[a + 14], 15, - 1416354905),
n = md5_ii(n, r, o, i, t[a + 5], 21, - 57434055),
i = md5_ii(i, n, r, o, t[a + 12], 6, 1700485571),
o = md5_ii(o, i, n, r, t[a + 3], 10, - 1894986606),
r = md5_ii(r, o, i, n, t[a + 10], 15, - 1051523),
n = md5_ii(n, r, o, i, t[a + 1], 21, - 2054922799),
i = md5_ii(i, n, r, o, t[a + 8], 6, 1873313359),
o = md5_ii(o, i, n, r, t[a + 15], 10, - 30611744),
r = md5_ii(r, o, i, n, t[a + 6], 15, - 1560198380),
n = md5_ii(n, r, o, i, t[a + 13], 21, 1309151649),
i = md5_ii(i, n, r, o, t[a + 4], 6, - 145523070),
o = md5_ii(o, i, n, r, t[a + 11], 10, - 1120210379),
r = md5_ii(r, o, i, n, t[a + 2], 15, 718787259),
n = md5_ii(n, r, o, i, t[a + 9], 21, - 343485551),
i = safe_add(i, s),
n = safe_add(n, p),
r = safe_add(r, c),
o = safe_add(o, u)
}
return 16 == mode ? Array(n, r) : Array(i, n, r, o)
}
function md5_cmn(t, e, i, n, r, o) {
return safe_add(bit_rol(safe_add(safe_add(e, t), safe_add(n, o)), r), i)
}
function md5_ff(t, e, i, n, r, o, a) {
return md5_cmn(e & i | ~e & n, t, e, r, o, a)
}
function md5_gg(t, e, i, n, r, o, a) {
return md5_cmn(e & n | i & ~n, t, e, r, o, a)
}
function md5_hh(t, e, i, n, r, o, a) {
return md5_cmn(e ^ i ^ n, t, e, r, o, a)
}
function md5_ii(t, e, i, n, r, o, a) {
return md5_cmn(i ^ (e | ~n), t, e, r, o, a)
}
function core_hmac_md5(t, e) {
var i = str2binl(t);
i.length > 16 && (i = core_md5(i, t.length * chrsz));
for (var n = Array(16), r = Array(16), o = 0; 16 > o; o++) n[o] = 909522486 ^ i[o],
r[o] = 1549556828 ^ i[o];
var a = core_md5(n.concat(str2binl(e)), 512 + e.length * chrsz);
return core_md5(r.concat(a), 640)
}
function safe_add(t, e) {
var i = (65535 & t) + (65535 & e),
n = (t >> 16) + (e >> 16) + (i >> 16);
return n << 16 | 65535 & i
}
function bit_rol(t, e) {
return t << e | t >>> 32 - e
}
function str2binl(t) {
for (var e = Array(), i = (1 << chrsz) - 1, n = 0; n < t.length * chrsz; n += chrsz) e[n >> 5] |= (t.charCodeAt(n / chrsz) & i) << n % 32;
return e
}
function binl2str(t) {
for (var e = '', i = (1 << chrsz) - 1, n = 0; n < 32 * t.length; n += chrsz) e += String.fromCharCode(t[n >> 5] >>> n % 32 & i);
return e
}
function binl2hex(t) {
for (var e = hexcase ? '0123456789ABCDEF' : '0123456789abcdef', i = '', n = 0; n < 4 * t.length; n++) i += e.charAt(t[n >> 2] >> n % 4 * 8 + 4 & 15) + e.charAt(t[n >> 2] >> n % 4 * 8 & 15);
return i
}
function binl2b64(t) {
for (var e = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', i = '', n = 0; n < 4 * t.length; n += 3) for (var r = (t[n >> 2] >> 8 * (n % 4) & 255) << 16 | (t[n + 1 >> 2] >> 8 * ((n + 1) % 4) & 255) << 8 | t[n + 2 >> 2] >> 8 * ((n + 2) % 4) & 255, o = 0; 4 > o; o++) i += 8 * n + 6 * o > 32 * t.length ? b64pad : e.charAt(r >> 6 * (3 - o) & 63);
return i
}
function hexchar2bin(str) {
for (var arr = [
], i = 0; i < str.length; i += 2) arr.push('\\x' + str.substr(i, 2));
return arr = arr.join(''),
eval('var temp = \'' + arr + '\''),
temp
}
function __monitor(t, e) {
if (!(Math.random() > (e || 1))) try {
var i = location.protocol + '//ui.ptlogin2.qq.com/cgi-bin/report?id=' + t,
n = document.createElement('img');
n.src = i
} catch (r) {
}
}
function getEncryption(t, e, i, n) {
i = i || '',
t = t || '';
for (var r = n ? t : md5(t), o = hexchar2bin(r), a = md5(o + e), s = $pt.RSA.rsa_encrypt(o), p = (s.length / 2).toString(16), c = TEA.strToBytes(i.toUpperCase(), !0), u = Number(c.length / 2).toString(16); u.length < 4; ) u = '0' + u;
for (; p.length < 4; ) p = '0' + p;
TEA.initkey(a);
var l = TEA.enAsBase64(p + s + TEA.strToBytes(e) + u + c);
return TEA.initkey(''),
setTimeout(function () {
__monitor(488358, 1)
}, 0),
l.replace(/[\/\+=]/g, function (t) {
return {
'/': '-',
'+': '*',
'=': '_'
}
[
t
]
})
}
function getRSAEncryption(t, e, i) {
var n = i ? t : md5(t),
r = n + e.toUpperCase(),
o = $.RSA.rsa_encrypt(r);
return o
}
var hexcase = 1,
b64pad = '',
chrsz = 8,
mode = 32;
return {
getEncryption: getEncryption,
getRSAEncryption: getRSAEncryption,
md5: md5
}
}();