// 解密 sensor_data 值的密文部分 -------------------- dec = '"QBkFI91H;-p!E9Do85,f+i/Z%l^-c!a0d/(e.tD"h_U"^Aa"v"iifq"6yC"R&[")56DLNH`PZ)"wv[-":"d+w0M@"BZh"!qz"r3:ny")>"&""x"D|B"+", #dIZyfMRIz7c"9Wj"vUD"E9bmYor"(1"_CqDQ"wy"*Eu`f"@%h"M+@xy"{X!"7"o} rx"lN%"<(3"{""Z"WJ}"R""e"Ul"`hKQ3zNe"2/1"q""3"iVg"7"C^_p~W""E"L#:"1P9{%nb`J"n=j"LuA0|9FMT$)6w-t,7G?GAE0wIp+nUg]p3XF=dneq}YhmijU/DQN@/4dEVIfB:xM:=~.^fvotP{&GvV"e"3a0"H]oY9<2;#mf"w{KO"7"Fke#wf!3Lo^zd&O`FwyslaQ4fm.I;"pgBwo"5%-">SAJi"7)o&"Y""f"Q~@"x@cxj"0]"|"5_-%._6dp4f1y;+|RAq>S(nz-0UfJbvD%h86*hfrt=|C}mD1(j{v5U?+87d#My.QB[-mx@}7uf5v,JDHMwX",t<"XGK]`oCpSy f#Y"%ic2v7aXPwC3*"z"y/ "A Tz{eES"n[D"["?"4"H?x"c""R"Ums"6"S#+"V"S4F"V"4"`9P"`5a"o"#H"Usy"XzMs"~<2PeH|qmcW/G[a"_iku>"z"Ni1]D|_>LuBY;gBADi,cwRgE`6SDYY> 8 & 0xFFFF) % n; // 第一次更新 W59 currentW59 = (currentW59 * 65793) & 0xFFFFFFFF; currentW59 += 4282663; currentW59 &= 0x7FFFFF; // 8388607 是 23 位掩码 // 计算第二个索引 JO9 const JO9 = (currentW59 >> 8 & 0xFFFF) % n; // 记录交换对 swapPairs.push({hj9, JO9}); // 第二次更新 W59 currentW59 = (currentW59 * 65793) & 0xFFFFFFFF; currentW59 += 4282663; currentW59 &= 0x7FFFFF; } // 逆序交换对并执行交换 swapPairs.reverse().forEach(({hj9, JO9}) => { // 交换元素还原 const temp = UM9Reversed[hj9]; UM9Reversed[hj9] = UM9Reversed[JO9]; UM9Reversed[JO9] = temp; }); // 拼接为原始字符串 return UM9Reversed.join(':'); } function reverseFun2(tv, BxInitial) { let Ig = ''; const L = Dz.length; let currentBx = BxInitial; for (let sm = 0; sm < tv.length; sm++) { const c = tv.charAt(sm); // 计算当前tE和UE const tE = (currentBx >> 8) & 0xFFFF; const UE = tE % L; // 更新Bx为下一次迭代 currentBx = (currentBx * 65793) & 0xFFFFFFFF; currentBx += 4282663; currentBx &= 0x7FFFFF; // 保留23位 // 处理当前字符 const k = Dz.indexOf(c); if (k === -1) { Ig += c; continue; } let pz = (k - UE) % L; if (pz < 0) pz += L; // 查找所有可能的Ad(32~126) let found = false; for (let Ad = 32; Ad < 127; Ad++) { if (mU[Ad] === pz) { Ig += String.fromCharCode(Ad); found = true; break; } } if (!found) Ig += c; // 未找到,保留原字符 } return Ig; } let dec1 = reverseFun2(dec, num_arr[0]) // console.log(a) return reverseFun1(dec1, num_arr[1]) }