优化方法

This commit is contained in:
aixianling
2024-04-23 14:02:12 +08:00
parent 845ceae3cd
commit 482391d6d3
2 changed files with 155 additions and 150 deletions

View File

@@ -1,157 +1,160 @@
/**
*
* @param token 从cookie中获取,判断从[_m_h5_c,_m_h5_tk]中取值,优先判断第一个
* @param appKey 取值 24815441或者12574478
* @param t 时间戳
* @param appKey 取值window.mtopConfig
* @param formData formData中的data
* @returns {*}
*/
export const getSign = (token, appKey = "12574478", t, formData) => {
return function (e) {
function t(e, t) {
return e << t | e >>> 32 - t
}
function n(e, t) {
var n, i, r, o, a;
return r = 2147483648 & e,
o = 2147483648 & t,
a = (1073741823 & e) + (1073741823 & t),
(n = 1073741824 & e) & (i = 1073741824 & t) ? 2147483648 ^ a ^ r ^ o : n | i ? 1073741824 & a ? 3221225472 ^ a ^ r ^ o : 1073741824 ^ a ^ r ^ o : a ^ r ^ o
}
function i(e, i, r, o, a, s, l) {
return e = n(e, n(n(function (e, t, n) {
return e & t | ~e & n
}(i, r, o), a), l)),
n(t(e, s), i)
}
function r(e, i, r, o, a, s, l) {
return e = n(e, n(n(function (e, t, n) {
return e & n | t & ~n
}(i, r, o), a), l)),
n(t(e, s), i)
}
function o(e, i, r, o, a, s, l) {
return e = n(e, n(n(function (e, t, n) {
return e ^ t ^ n
}(i, r, o), a), l)),
n(t(e, s), i)
}
function a(e, i, r, o, a, s, l) {
return e = n(e, n(n(function (e, t, n) {
return t ^ (e | ~n)
}(i, r, o), a), l)),
n(t(e, s), i)
}
function s(e) {
var t, n = "", i = "";
for (t = 0; 3 >= t; t++)
n += (i = "0" + (e >>> 8 * t & 255).toString(16)).substr(i.length - 2, 2);
return n
}
var l, u, c, d, p, f, h, g, m, v;
for (v = function (e) {
for (var t, n = e.length, i = n + 8, r = 16 * ((i - i % 64) / 64 + 1), o = new Array(r - 1), a = 0, s = 0; n > s;)
a = s % 4 * 8,
o[t = (s - s % 4) / 4] = o[t] | e.charCodeAt(s) << a,
s++;
return a = s % 4 * 8,
o[t = (s - s % 4) / 4] = o[t] | 128 << a,
o[r - 2] = n << 3,
o[r - 1] = n >>> 29,
o
}(e = function (e) {
e = e.replace(/\r\n/g, "\n");
for (var t = "", n = 0; n < e.length; n++) {
var i = e.charCodeAt(n);
128 > i ? t += String.fromCharCode(i) : i > 127 && 2048 > i ? (t += String.fromCharCode(i >> 6 | 192),
t += String.fromCharCode(63 & i | 128)) : (t += String.fromCharCode(i >> 12 | 224),
t += String.fromCharCode(i >> 6 & 63 | 128),
t += String.fromCharCode(63 & i | 128))
const getSign = (token, appKey, formData) => {
token = token.split("_")[0]
const t = (new Date()).getTime();
return {
t, sign: function (e) {
function t(e, t) {
return e << t | e >>> 32 - t
}
return t
}(e)),
f = 1732584193,
h = 4023233417,
g = 2562383102,
m = 271733878,
l = 0; l < v.length; l += 16)
u = f,
c = h,
d = g,
p = m,
f = i(f, h, g, m, v[l], 7, 3614090360),
m = i(m, f, h, g, v[l + 1], 12, 3905402710),
g = i(g, m, f, h, v[l + 2], 17, 606105819),
h = i(h, g, m, f, v[l + 3], 22, 3250441966),
f = i(f, h, g, m, v[l + 4], 7, 4118548399),
m = i(m, f, h, g, v[l + 5], 12, 1200080426),
g = i(g, m, f, h, v[l + 6], 17, 2821735955),
h = i(h, g, m, f, v[l + 7], 22, 4249261313),
f = i(f, h, g, m, v[l + 8], 7, 1770035416),
m = i(m, f, h, g, v[l + 9], 12, 2336552879),
g = i(g, m, f, h, v[l + 10], 17, 4294925233),
h = i(h, g, m, f, v[l + 11], 22, 2304563134),
f = i(f, h, g, m, v[l + 12], 7, 1804603682),
m = i(m, f, h, g, v[l + 13], 12, 4254626195),
g = i(g, m, f, h, v[l + 14], 17, 2792965006),
f = r(f, h = i(h, g, m, f, v[l + 15], 22, 1236535329), g, m, v[l + 1], 5, 4129170786),
m = r(m, f, h, g, v[l + 6], 9, 3225465664),
g = r(g, m, f, h, v[l + 11], 14, 643717713),
h = r(h, g, m, f, v[l], 20, 3921069994),
f = r(f, h, g, m, v[l + 5], 5, 3593408605),
m = r(m, f, h, g, v[l + 10], 9, 38016083),
g = r(g, m, f, h, v[l + 15], 14, 3634488961),
h = r(h, g, m, f, v[l + 4], 20, 3889429448),
f = r(f, h, g, m, v[l + 9], 5, 568446438),
m = r(m, f, h, g, v[l + 14], 9, 3275163606),
g = r(g, m, f, h, v[l + 3], 14, 4107603335),
h = r(h, g, m, f, v[l + 8], 20, 1163531501),
f = r(f, h, g, m, v[l + 13], 5, 2850285829),
m = r(m, f, h, g, v[l + 2], 9, 4243563512),
g = r(g, m, f, h, v[l + 7], 14, 1735328473),
f = o(f, h = r(h, g, m, f, v[l + 12], 20, 2368359562), g, m, v[l + 5], 4, 4294588738),
m = o(m, f, h, g, v[l + 8], 11, 2272392833),
g = o(g, m, f, h, v[l + 11], 16, 1839030562),
h = o(h, g, m, f, v[l + 14], 23, 4259657740),
f = o(f, h, g, m, v[l + 1], 4, 2763975236),
m = o(m, f, h, g, v[l + 4], 11, 1272893353),
g = o(g, m, f, h, v[l + 7], 16, 4139469664),
h = o(h, g, m, f, v[l + 10], 23, 3200236656),
f = o(f, h, g, m, v[l + 13], 4, 681279174),
m = o(m, f, h, g, v[l], 11, 3936430074),
g = o(g, m, f, h, v[l + 3], 16, 3572445317),
h = o(h, g, m, f, v[l + 6], 23, 76029189),
f = o(f, h, g, m, v[l + 9], 4, 3654602809),
m = o(m, f, h, g, v[l + 12], 11, 3873151461),
g = o(g, m, f, h, v[l + 15], 16, 530742520),
f = a(f, h = o(h, g, m, f, v[l + 2], 23, 3299628645), g, m, v[l], 6, 4096336452),
m = a(m, f, h, g, v[l + 7], 10, 1126891415),
g = a(g, m, f, h, v[l + 14], 15, 2878612391),
h = a(h, g, m, f, v[l + 5], 21, 4237533241),
f = a(f, h, g, m, v[l + 12], 6, 1700485571),
m = a(m, f, h, g, v[l + 3], 10, 2399980690),
g = a(g, m, f, h, v[l + 10], 15, 4293915773),
h = a(h, g, m, f, v[l + 1], 21, 2240044497),
f = a(f, h, g, m, v[l + 8], 6, 1873313359),
m = a(m, f, h, g, v[l + 15], 10, 4264355552),
g = a(g, m, f, h, v[l + 6], 15, 2734768916),
h = a(h, g, m, f, v[l + 13], 21, 1309151649),
f = a(f, h, g, m, v[l + 4], 6, 4149444226),
m = a(m, f, h, g, v[l + 11], 10, 3174756917),
g = a(g, m, f, h, v[l + 2], 15, 718787259),
h = a(h, g, m, f, v[l + 9], 21, 3951481745),
f = n(f, u),
h = n(h, c),
g = n(g, d),
m = n(m, p);
return (s(f) + s(h) + s(g) + s(m)).toLowerCase()
}(token + "&" + t + "&" + appKey + "&" + formData)
function n(e, t) {
var n, i, r, o, a;
return r = 2147483648 & e,
o = 2147483648 & t,
a = (1073741823 & e) + (1073741823 & t),
(n = 1073741824 & e) & (i = 1073741824 & t) ? 2147483648 ^ a ^ r ^ o : n | i ? 1073741824 & a ? 3221225472 ^ a ^ r ^ o : 1073741824 ^ a ^ r ^ o : a ^ r ^ o
}
function i(e, i, r, o, a, s, l) {
return e = n(e, n(n(function (e, t, n) {
return e & t | ~e & n
}(i, r, o), a), l)),
n(t(e, s), i)
}
function r(e, i, r, o, a, s, l) {
return e = n(e, n(n(function (e, t, n) {
return e & n | t & ~n
}(i, r, o), a), l)),
n(t(e, s), i)
}
function o(e, i, r, o, a, s, l) {
return e = n(e, n(n(function (e, t, n) {
return e ^ t ^ n
}(i, r, o), a), l)),
n(t(e, s), i)
}
function a(e, i, r, o, a, s, l) {
return e = n(e, n(n(function (e, t, n) {
return t ^ (e | ~n)
}(i, r, o), a), l)),
n(t(e, s), i)
}
function s(e) {
var t, n = "", i = "";
for (t = 0; 3 >= t; t++)
n += (i = "0" + (e >>> 8 * t & 255).toString(16)).substr(i.length - 2, 2);
return n
}
var l, u, c, d, p, f, h, g, m, v;
for (v = function (e) {
for (var t, n = e.length, i = n + 8, r = 16 * ((i - i % 64) / 64 + 1), o = new Array(r - 1), a = 0, s = 0; n > s;)
a = s % 4 * 8,
o[t = (s - s % 4) / 4] = o[t] | e.charCodeAt(s) << a,
s++;
return a = s % 4 * 8,
o[t = (s - s % 4) / 4] = o[t] | 128 << a,
o[r - 2] = n << 3,
o[r - 1] = n >>> 29,
o
}(e = function (e) {
e = e.replace(/\r\n/g, "\n");
for (var t = "", n = 0; n < e.length; n++) {
var i = e.charCodeAt(n);
128 > i ? t += String.fromCharCode(i) : i > 127 && 2048 > i ? (t += String.fromCharCode(i >> 6 | 192),
t += String.fromCharCode(63 & i | 128)) : (t += String.fromCharCode(i >> 12 | 224),
t += String.fromCharCode(i >> 6 & 63 | 128),
t += String.fromCharCode(63 & i | 128))
}
return t
}(e)),
f = 1732584193,
h = 4023233417,
g = 2562383102,
m = 271733878,
l = 0; l < v.length; l += 16)
u = f,
c = h,
d = g,
p = m,
f = i(f, h, g, m, v[l], 7, 3614090360),
m = i(m, f, h, g, v[l + 1], 12, 3905402710),
g = i(g, m, f, h, v[l + 2], 17, 606105819),
h = i(h, g, m, f, v[l + 3], 22, 3250441966),
f = i(f, h, g, m, v[l + 4], 7, 4118548399),
m = i(m, f, h, g, v[l + 5], 12, 1200080426),
g = i(g, m, f, h, v[l + 6], 17, 2821735955),
h = i(h, g, m, f, v[l + 7], 22, 4249261313),
f = i(f, h, g, m, v[l + 8], 7, 1770035416),
m = i(m, f, h, g, v[l + 9], 12, 2336552879),
g = i(g, m, f, h, v[l + 10], 17, 4294925233),
h = i(h, g, m, f, v[l + 11], 22, 2304563134),
f = i(f, h, g, m, v[l + 12], 7, 1804603682),
m = i(m, f, h, g, v[l + 13], 12, 4254626195),
g = i(g, m, f, h, v[l + 14], 17, 2792965006),
f = r(f, h = i(h, g, m, f, v[l + 15], 22, 1236535329), g, m, v[l + 1], 5, 4129170786),
m = r(m, f, h, g, v[l + 6], 9, 3225465664),
g = r(g, m, f, h, v[l + 11], 14, 643717713),
h = r(h, g, m, f, v[l], 20, 3921069994),
f = r(f, h, g, m, v[l + 5], 5, 3593408605),
m = r(m, f, h, g, v[l + 10], 9, 38016083),
g = r(g, m, f, h, v[l + 15], 14, 3634488961),
h = r(h, g, m, f, v[l + 4], 20, 3889429448),
f = r(f, h, g, m, v[l + 9], 5, 568446438),
m = r(m, f, h, g, v[l + 14], 9, 3275163606),
g = r(g, m, f, h, v[l + 3], 14, 4107603335),
h = r(h, g, m, f, v[l + 8], 20, 1163531501),
f = r(f, h, g, m, v[l + 13], 5, 2850285829),
m = r(m, f, h, g, v[l + 2], 9, 4243563512),
g = r(g, m, f, h, v[l + 7], 14, 1735328473),
f = o(f, h = r(h, g, m, f, v[l + 12], 20, 2368359562), g, m, v[l + 5], 4, 4294588738),
m = o(m, f, h, g, v[l + 8], 11, 2272392833),
g = o(g, m, f, h, v[l + 11], 16, 1839030562),
h = o(h, g, m, f, v[l + 14], 23, 4259657740),
f = o(f, h, g, m, v[l + 1], 4, 2763975236),
m = o(m, f, h, g, v[l + 4], 11, 1272893353),
g = o(g, m, f, h, v[l + 7], 16, 4139469664),
h = o(h, g, m, f, v[l + 10], 23, 3200236656),
f = o(f, h, g, m, v[l + 13], 4, 681279174),
m = o(m, f, h, g, v[l], 11, 3936430074),
g = o(g, m, f, h, v[l + 3], 16, 3572445317),
h = o(h, g, m, f, v[l + 6], 23, 76029189),
f = o(f, h, g, m, v[l + 9], 4, 3654602809),
m = o(m, f, h, g, v[l + 12], 11, 3873151461),
g = o(g, m, f, h, v[l + 15], 16, 530742520),
f = a(f, h = o(h, g, m, f, v[l + 2], 23, 3299628645), g, m, v[l], 6, 4096336452),
m = a(m, f, h, g, v[l + 7], 10, 1126891415),
g = a(g, m, f, h, v[l + 14], 15, 2878612391),
h = a(h, g, m, f, v[l + 5], 21, 4237533241),
f = a(f, h, g, m, v[l + 12], 6, 1700485571),
m = a(m, f, h, g, v[l + 3], 10, 2399980690),
g = a(g, m, f, h, v[l + 10], 15, 4293915773),
h = a(h, g, m, f, v[l + 1], 21, 2240044497),
f = a(f, h, g, m, v[l + 8], 6, 1873313359),
m = a(m, f, h, g, v[l + 15], 10, 4264355552),
g = a(g, m, f, h, v[l + 6], 15, 2734768916),
h = a(h, g, m, f, v[l + 13], 21, 1309151649),
f = a(f, h, g, m, v[l + 4], 6, 4149444226),
m = a(m, f, h, g, v[l + 11], 10, 3174756917),
g = a(g, m, f, h, v[l + 2], 15, 718787259),
h = a(h, g, m, f, v[l + 9], 21, 3951481745),
f = n(f, u),
h = n(h, c),
g = n(g, d),
m = n(m, p);
return (s(f) + s(h) + s(g) + s(m)).toLowerCase()
}(token + "&" + t + "&" + appKey + "&" + formData)
}
}

View File

@@ -131,11 +131,13 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
headers['Content-Type'] = 'text/html';
headers.cookie = getAliexpressCookie();
const {_m_h5_c, _m_h5_tk} = cookie2Obj(headers.cookie)
const {appKey, t, formData} = request
const sign = getSign(_m_h5_c || _m_h5_tk, appKey, t, formData)
const {mtopConfig = {appKey: "12574478"}} = window
const {appKey = mtopConfig.appKey, formData} = request
const {sign, t} = getSign(_m_h5_c || _m_h5_tk, appKey, formData)
const url = new URL(request.url)
let params = new URLSearchParams(url.search);
params.append('sign', sign)
params.append('t', t)
url.search = params.toString()
Promise.resolve().then(() => fetch(url.toString(), {
'headers': headers, 'method': 'POST', 'referrerPolicy': 'no-referrer', 'credentials': 'include', 'mode': 'cors'