// 引入 CryptoJS 库
const CryptoJs = require('crypto-js')
//生成payload的方法
function get_payload(lm){
let payload = ""
for (let i = 0; i < lm.length; i++){
let code = lm.charCodeAt(i)
let nums = [code >> 4,code & 15]
let num;
for (num of nums){
if (num >= 10){
payload += String.fromCharCode(num % 10 + 97)
}else{
payload += num
}
}
}
return payload
}
//生成x-s的方法
function getXYW(payload,time) {
let in1 = `{"signSvn":"51","signType":"x1","appId":"xhs-pc-web","signVersion":"1","payload":"${payload}"}`
let XYW = "XYW_"
let iter = []
for (let i = 0; i < in1.length; i=i+3) {
let num1 = in1[i].charCodeAt(0)
let num2 = in1[i+1] === undefined ? undefined :in1[i+1].charCodeAt(0)
let num3 = in1[i+2] === undefined ? undefined :in1[i+2].charCodeAt(0)
iter.push(num1 >> 2)
num2 && iter.push(((num1 & 3) << 4) | (num2 >> 4))
num3 && iter.push(((num2 & 15) << 2) | (num3 >> 6))
num3 && iter.push(num3 & 63)
}
for (i of iter){
let code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
XYW+=code.charAt(i)
}
return {
"X-s":XYW,
"X-t":time
}
}
function encrypt_encodeUtf8(t) {
for (var e = 145, r = 213, n = 323, o = 94, i = 407, a = 295, u = 313, c = 407, s = 258, l = 554, f = 131, p = 255, d = 292, h = 272, v = 1219, g = {
yAiCZ: function (t, e) {
return t(e)
},
zrKRZ: function (t, e) {
return t < e
},
tJiBG: function (t, e) {
return t + e
},
eyEZE: function (t, e, r) {
return t(e, r)
}
}, m = g[x(143, 181)](encodeURIComponent, t), y = [], w = 0; g[x(e, r)](w, m[x(n, 258)]); w++) {
var b = m[x(258, o)](w);
if ("%" === b) {
var _ = g[x(i, a)](m[x(258, u)](g[x(c, 365)](w, 1)), m[x(s, n)](g[x(c, l)](w, 2)))
, E = g[x(326, 245)](parseInt, _, 16);
y[x(f, 88)](E),
w += 2
} else
y[x(131, p)](b[x(228, d) + x(318, h)](0))
}
function x(t, e) {
return a0_0x4a254a(e, t - -v)
}
return y
}
function encrypt_b64Encode(t) {
let encrypt_lookup = ["Z","m","s","e","r","b","B","o","H","Q","t","N","P","+","w","O","c","z","a","/","L","p","n","g","G","8","y","J","q","4","2","K","W","Y","j","0","D","S","f","d","i","k","x","3","V","T","1","6","I","l","U","A","F","M","9","7","h","E","C","v","u","R","X","5"]
var e = 550
, r = 533
, n = 554
, o = 602
, i = 445
, a = 477
, u = 407
, c = 398
, s = 384
, l = 552
, f = 619
, p = 657
, d = 598
, h = 263
, v = 414
, g = 597
, m = 483
, y = 668
, w = 664
, b = 584
, _ = 682
, E = 619
, x = 502
, k = 499
, T = 450
, S = 498
, L = 374
, O = 763
, A = 653
, R = 468
, I = 591
, C = 521
, N = 548
, P = 620
, B = 492
, F = 492
, M = 561
, j = 670
, D = 536
, q = 435
, U = 277
, Z = 549
, G = 497
, H = 523
, V = 488
, Y = 606
, W = 936
, z = {
ZZAac: J(446, 516) + J(e, r) + "1",
OlGNH: function (t, e) {
return t % e
},
rSQXx: function (t, e) {
return t === e
},
RNOfO: function (t, e) {
return t - e
},
qzYGf: function (t, e) {
return t + e
},
JYSts: function (t, e) {
return t + e
},
RmiPN: function (t, e) {
return t >> e
},
bWPpR: function (t, e) {
return t & e
},
CZdkk: function (t, e) {
return t << e
},
lMXrq: function (t, e) {
return t + e
},
XtDWV: function (t, e) {
return t << e
},
ZzTuZ: function (t, e) {
return t - e
},
DLdzY: function (t, e) {
return t - e
},
PDRgI: function (t, e) {
return t + e
},
KvMAr: function (t, e) {
return t + e
},
MKnIB: function (t, e) {
return t >> e
},
RoFEI: function (t, e) {
return t << e
},
uofte: function (t, e) {
return t < e
},
aGcMO: function (t, e, r, n) {
return t(e, r, n)
},
UHECr: function (t, e) {
return t + e
}
}
, X = z[J(n, 459)][J(o, i)]("|")
, K = 0;
function J(t, e) {
return a0_0x4a254a(t, e - -W)
}
for (; ;) {
switch (X[K++]) {
case "0":
var $ = z[J(a, u)](ot, 3);
continue;
case "1":
return tt[J(c, s)]("");
case "2":
var Q;
continue;
case "3":
var tt = [];
continue;
case "4":
var et = 16383;
continue;
case "5":
z[J(l, f)]($, 1) ? (Q = t[z[J(p, d)](ot, 1)],
tt[J(h, v)](z[J(g, 576)](z[J(579, m)](encrypt_lookup[z[J(573, y)](Q, 2)], encrypt_lookup[z[J(560, w)](z[J(b, _)](Q, 4), 63)]), "=="))) : z[J(601, E)]($, 2) && (Q = z[J(x, k)](z[J(T, S)](t[z[J(292, L)](ot, 2)], 8), t[z[J(O, A)](ot, 1)]),
tt[J(R, v)](z[J(I, 583)](z[J(C, N)](encrypt_lookup[z[J(P, B)](Q, 10)], encrypt_lookup[63 & z[J(486, F)](Q, 4)]), encrypt_lookup[z[J(M, 664)](z[J(j, D)](Q, 2), 63)]) + "="));
continue;
case "6":
for (var rt = 0, nt = ot - $; z[J(q, 525)](rt, nt); rt += et)
tt[J(U, 414)](z[J(Z, G)](encrypt_encodeChunk, t, rt, rt + et > nt ? nt : z[J(H, 642)](rt, et)));
continue;
case "7":
var ot = t[J(V, Y)];
continue
}
break
}
}
function encrypt_encodeChunk(t, e, r) {
for (var n, o = 1276, i = 1214, a = 1375, u = 1367, c = 984, s = 1096, l = 1244, f = 1165, p = 1002, d = 1065, h = 1315, v = 1200, g = 1191, m = 1248, y = 1143, w = 1109, b = 1261, _ = 1358, E = {
okIzw: function (t, e) {
return t < e
},
dEMSl: function (t, e) {
return t + e
},
PpAwY: function (t, e) {
return t << e
},
ZgLxC: function (t, e) {
return t & e
},
wPkAP: function (t, e) {
return t << e
},
oRwpo: function (t, e) {
return t & e
},
XERfw: function (t, e) {
return t + e
},
UWoAC: function (t, e) {
return t(e)
}
}, x = [], k = e; E[T(o, i)](k, r); k += 3)
n = E[T(a, u)]((16711680 & E[T(c, s)](t[k], 16)) + E[T(l, f)](E[T(p, d)](t[E[T(h, u)](k, 1)], 8), 65280), E[T(v, g)](t[E[T(m, 1151)](k, 2)], 255)),
x[T(y, w)](E[T(b, _)](encrypt_tripletToBase64, n));
function T(t, e) {
return a0_0x4a254a(t, e - -241)
}
return x[T(1240, 1079)]("")
}
function encrypt_tripletToBase64(t) {
let encrypt_lookup = ["Z","m","s","e","r","b","B","o","H","Q","t","N","P","+","w","O","c","z","a","/","L","p","n","g","G","8","y","J","q","4","2","K","W","Y","j","0","D","S","f","d","i","k","x","3","V","T","1","6","I","l","U","A","F","M","9","7","h","E","C","v","u","R","X","5"]
var e = 137
, r = 127
, n = 125
, o = 5
, i = 125
, a = 78
, u = 173
, c = 172
, s = 137
, l = {};
f
X-s-X-s-c纯算加密算法
版权申诉
17 浏览量
2024-03-04
15:48:32
上传
评论 1
收藏 10KB ZIP 举报
吴秋霖
- 粉丝: 2w+
- 资源: 80
最新资源
- las格式点云数据使用详解(附VS编译好的LAStools工具)
- KRPano插件一键解密大师1.4.0 (解压密码1234)
- 《C++沉思录》是一本由 Scoot Meyers 所著的经典 C++ 编程书籍 该书深入探讨了 C++ 的一些高级概念和技术
- 海信刷机数据 LED42K310X3D(0000)BOM1-C006软件数据与LED42K310NX3D(0000)BOM1通用
- 送货单打印软件单机版直接单机运行不需要网络
- pycdc工具,Python3.9及以上可用的反编译工具(exe转py)
- 计算机网络基础练习题.pdf
- SDIO接口远距离无线图传WIFI6模块TT-S6D2TR-105HP
- 海信智能电视刷机数据 LED42K280J3D(1000) 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
- 步进电机控制实验-原理图-软件代码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈