TrollInstallerX终极指南:3分钟在iOS 14-16.6.1设备上安装TrollStore
2026/4/17 9:41:41
//登陆注册密码加密 stringToBase64(str) { //将字符串转换为base64编码 var t = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; let regexp = /=/g; // 全局匹配所有'o'字母 let a = t.length; let n = ''; let n1 = ''; for (let i = 0; i < 10; i++) n += t.charAt(Math.floor(Math.random() * a)); for (let i = 0; i < 10; i++) n1 += t.charAt(Math.floor(Math.random() * a)); return ( n + btoa( encodeURIComponent(str + 'kn0cvgz').replace(/%([0-9A-F]{2})/g, function toSolidBytes(match, p1) { return String.fromCharCode('0x' + p1); }) ).replace(/=/g, '') + n1 ); }, //登陆注册密码解密(与 stringToBase64 配对) base64ToString2(str) { // 非字符串或长度不足(加密串至少有前后各10位+内容)时直接返回原值 if (typeof str !== 'string' || str.length <= 20) return str; try { // 去掉前后各 10 位随机字符 const core = str.slice(10, str.length - 10); // 还原被去掉的 '=' 填充(补齐 base64 长度为 4 的倍数) const padded = core + '=='.slice(0, (4 - (core.length % 4)) % 4); // base64 解码 const decoded = decodeURIComponent( atob(padded) .split('') .map(function(c) { return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2); }) .join('') ); // 去掉加密时拼接的盐值后缀 return decoded.endsWith('kn0cvgz') ? decoded.slice(0, -7) : decoded; } catch (e) { return str; // 解密失败则返回原值 } },