开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1538|回复: 5
收起左侧

[js/PHP求助] 大家是怎么解决某些浏览器内置函数的?

[复制链接]
发表于 2019-8-12 19:42:21 | 显示全部楼层 |阅读模式   广东省佛山市

如题,无论是系统引擎还是V8引擎,对某些内置函数都不能支持。。。


下面举个例子:

  1. //这是 https://www.ctyun.cn/auth/#/login  登录密码的加密js

  2. //encrypt("13888@126.com","666666");

  3. function encrypt(t,e){
  4.         var n = c(t, 0, 24);
  5.         return btoa(s(n.key, e, 1, 0, 0, 1));
  6. }



  7. c = function c(t, e, n) {
  8.         return {
  9.                 key: u(t.slice(e, n)),
  10.                 vector: 1
  11.         };
  12. }

  13. u = function u(t) {
  14.         for (var e = t.length; e < 24; e++) {
  15.                 t += "0";
  16.         }
  17.         return t;
  18. }

  19. s = function s(t, e, n, r, i, o) {
  20.        
  21.         n && (e = unescape(encodeURIComponent(e)));
  22.         var s, c, u, l, d, f, h, p, v, m, g, b, y, _, x = new Array(16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756), w = new Array(-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344), C = new Array(520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584), k = new Array(8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928), A = new Array(256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080), I = new Array(536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312), S = new Array(2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154), E = new Array(268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696), M = a(t), $ = 0, T = e.length, P = 0, O = 32 == M.length ? 3 : 9;
  23.         p = 3 == O ? n ? new Array(0,32,2) : new Array(30,-2,-2) : n ? new Array(0,32,2,62,30,-2,64,96,2) : new Array(94,62,-2,32,64,2,30,-2,-2),
  24.         2 == o ? e += "        " : 1 == o ? n && (u = 8 - T % 8,
  25.         e += String.fromCharCode(u, u, u, u, u, u, u, u),
  26.         8 === u && (T += 8)) : o || (e += "\0\0\0\0\0\0\0\0");
  27.         var D = ""
  28.           , R = "";
  29.         for (1 == r && (v = i.charCodeAt($++) << 24 | i.charCodeAt($++) << 16 | i.charCodeAt($++) << 8 | i.charCodeAt($++),
  30.         g = i.charCodeAt($++) << 24 | i.charCodeAt($++) << 16 | i.charCodeAt($++) << 8 | i.charCodeAt($++),
  31.         $ = 0); $ < T; ) {
  32.                 for (f = e.charCodeAt($++) << 24 | e.charCodeAt($++) << 16 | e.charCodeAt($++) << 8 | e.charCodeAt($++),
  33.                 h = e.charCodeAt($++) << 24 | e.charCodeAt($++) << 16 | e.charCodeAt($++) << 8 | e.charCodeAt($++),
  34.                 1 == r && (n ? (f ^= v,
  35.                 h ^= g) : (m = v,
  36.                 b = g,
  37.                 v = f,
  38.                 g = h)),
  39.                 f ^= (u = 252645135 & (f >>> 4 ^ h)) << 4,
  40.                 f ^= (u = 65535 & (f >>> 16 ^ (h ^= u))) << 16,
  41.                 f ^= u = 858993459 & ((h ^= u) >>> 2 ^ f),
  42.                 f ^= u = 16711935 & ((h ^= u << 2) >>> 8 ^ f),
  43.                 f = (f ^= (u = 1431655765 & (f >>> 1 ^ (h ^= u << 8))) << 1) << 1 | f >>> 31,
  44.                 h = (h ^= u) << 1 | h >>> 31,
  45.                 c = 0; c < O; c += 3) {
  46.                         for (y = p[c + 1],
  47.                         _ = p[c + 2],
  48.                         s = p[c]; s != y; s += _) {
  49.                                 l = h ^ M[s],
  50.                                 d = (h >>> 4 | h << 28) ^ M[s + 1],
  51.                                 u = f,
  52.                                 f = h,
  53.                                 h = u ^ (w[l >>> 24 & 63] | k[l >>> 16 & 63] | I[l >>> 8 & 63] | E[63 & l] | x[d >>> 24 & 63] | C[d >>> 16 & 63] | A[d >>> 8 & 63] | S[63 & d]);
  54.                         }
  55.                         u = f,
  56.                         f = h,
  57.                         h = u;
  58.                 }
  59.                 h = h >>> 1 | h << 31,
  60.                 h ^= u = 1431655765 & ((f = f >>> 1 | f << 31) >>> 1 ^ h),
  61.                 h ^= (u = 16711935 & (h >>> 8 ^ (f ^= u << 1))) << 8,
  62.                 h ^= (u = 858993459 & (h >>> 2 ^ (f ^= u))) << 2,
  63.                 h ^= u = 65535 & ((f ^= u) >>> 16 ^ h),
  64.                 h ^= u = 252645135 & ((f ^= u << 16) >>> 4 ^ h),
  65.                 f ^= u << 4,
  66.                 1 == r && (n ? (v = f,
  67.                 g = h) : (f ^= m,
  68.                 h ^= b)),
  69.                 R += String.fromCharCode(f >>> 24, f >>> 16 & 255, f >>> 8 & 255, 255 & f, h >>> 24, h >>> 16 & 255, h >>> 8 & 255, 255 & h),
  70.                 512 == (P += 8) && (D += R,
  71.                 R = "",
  72.                 P = 0);
  73.         }
  74.         if (D += R,
  75.         !n) {
  76.                 if (1 === o) {
  77.                         var j = D.length
  78.                           , L = 0;
  79.                         j && (L = D.charCodeAt(j - 1)),
  80.                         L <= 8 && (D = D.substring(0, j - L));
  81.                 }
  82.                 D = decodeURIComponent(escape(D));
  83.         }
  84.         return D;
  85. }



  86. a = function a(t) {
  87.         for (var e, n, r, i = new Array(0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964), o = new Array(0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697), s = new Array(0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272), a = new Array(0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144), c = new Array(0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256), u = new Array(0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488), l = new Array(0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746), d = new Array(0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568), f = new Array(0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578), h = new Array(0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488), p = new Array(0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800), v = new Array(0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744), m = new Array(0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128), g = new Array(0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261), b = t.length > 8 ? 3 : 1, y = new Array(32 * b), _ = new Array(0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0), x = 0, w = 0, C = 0; C < b; C++) {
  88.                 var k = t.charCodeAt(x++) << 24 | t.charCodeAt(x++) << 16 | t.charCodeAt(x++) << 8 | t.charCodeAt(x++)
  89.                   , A = t.charCodeAt(x++) << 24 | t.charCodeAt(x++) << 16 | t.charCodeAt(x++) << 8 | t.charCodeAt(x++);
  90.                 k ^= (r = 252645135 & (k >>> 4 ^ A)) << 4,
  91.                 k ^= r = 65535 & ((A ^= r) >>> -16 ^ k),
  92.                 k ^= (r = 858993459 & (k >>> 2 ^ (A ^= r << -16))) << 2,
  93.                 k ^= r = 65535 & ((A ^= r) >>> -16 ^ k),
  94.                 k ^= (r = 1431655765 & (k >>> 1 ^ (A ^= r << -16))) << 1,
  95.                 k ^= r = 16711935 & ((A ^= r) >>> 8 ^ k),
  96.                 r = (k ^= (r = 1431655765 & (k >>> 1 ^ (A ^= r << 8))) << 1) << 8 | (A ^= r) >>> 20 & 240,
  97.                 k = A << 24 | A << 8 & 16711680 | A >>> 8 & 65280 | A >>> 24 & 240,
  98.                 A = r;
  99.                 for (var I = 0; I < _.length; I++) {
  100.                         _[I] ? (k = k << 2 | k >>> 26,
  101.                         A = A << 2 | A >>> 26) : (k = k << 1 | k >>> 27,
  102.                         A = A << 1 | A >>> 27),
  103.                         A &= -15,
  104.                         e = i[(k &= -15) >>> 28] | o[k >>> 24 & 15] | s[k >>> 20 & 15] | a[k >>> 16 & 15] | c[k >>> 12 & 15] | u[k >>> 8 & 15] | l[k >>> 4 & 15],
  105.                         r = 65535 & ((n = d[A >>> 28] | f[A >>> 24 & 15] | h[A >>> 20 & 15] | p[A >>> 16 & 15] | v[A >>> 12 & 15] | m[A >>> 8 & 15] | g[A >>> 4 & 15]) >>> 16 ^ e),
  106.                         y[w++] = e ^ r,
  107.                         y[w++] = n ^ r << 16;
  108.                 }
  109.         }
  110.         return y;
  111. }


复制代码


整个js都是没问题的,放在浏览器中能完美运行,但若是用鬼鬼js中的引擎运行,就会出问题。。。
我甚至还不信邪的试着创建了一个易语言的实例,但结果依旧是失败。





下面还有浏览器运行的结果:





在网上查了下,发现btoa是一个内置函数,可是在引擎中却无法执行,有人知道如何解决这个问题吗?

结帖率:100% (1/1)

签到天数: 12 天

发表于 2019-8-12 21:03:40 | 显示全部楼层   湖南省娄底市
  1. var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";  
  2. var base64DecodeChars = new Array(  
  3.     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  
  4.     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  
  5.     -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,  
  6.     52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,  
  7.     -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,  
  8.     15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,  
  9.     -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,  
  10.     41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);  
  11.   
  12. function base64encode(str) {  
  13.     var out, i, len;  
  14.     var c1, c2, c3;  
  15.   
  16.     len = str.length;  
  17.     i = 0;  
  18.     out = "";  
  19.     while(i < len) {  
  20.     c1 = str.charCodeAt(i++) & 0xff;  
  21.     if(i == len)  
  22.     {  
  23.         out += base64EncodeChars.charAt(c1 >> 2);  
  24.         out += base64EncodeChars.charAt((c1 & 0x3) << 4);  
  25.         out += "==";  
  26.         break;  
  27.     }  
  28.     c2 = str.charCodeAt(i++);  
  29.     if(i == len)  
  30.     {  
  31.         out += base64EncodeChars.charAt(c1 >> 2);  
  32.         out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));  
  33.         out += base64EncodeChars.charAt((c2 & 0xF) << 2);  
  34.         out += "=";  
  35.         break;  
  36.     }  
  37.     c3 = str.charCodeAt(i++);  
  38.     out += base64EncodeChars.charAt(c1 >> 2);  
  39.     out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));  
  40.     out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6));  
  41.     out += base64EncodeChars.charAt(c3 & 0x3F);  
  42.     }  
  43.     return out;  
  44. }  
  45.   
  46. function base64decode(str) {  
  47.     var c1, c2, c3, c4;  
  48.     var i, len, out;  
  49.   
  50.     len = str.length;  
  51.     i = 0;  
  52.     out = "";  
  53.     while(i < len) {  
  54.     /* c1 */  
  55.     do {  
  56.         c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];  
  57.     } while(i < len && c1 == -1);  
  58.     if(c1 == -1)  
  59.         break;  
  60.   
  61.     /* c2 */  
  62.     do {  
  63.         c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];  
  64.     } while(i < len && c2 == -1);  
  65.     if(c2 == -1)  
  66.         break;  
  67.   
  68.     out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));  
  69.   
  70.     /* c3 */  
  71.     do {  
  72.         c3 = str.charCodeAt(i++) & 0xff;  
  73.         if(c3 == 61)  
  74.         return out;  
  75.         c3 = base64DecodeChars[c3];  
  76.     } while(i < len && c3 == -1);  
  77.     if(c3 == -1)  
  78.         break;  
  79.   
  80.     out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));  
  81.   
  82.     /* c4 */  
  83.     do {  
  84.         c4 = str.charCodeAt(i++) & 0xff;  
  85.         if(c4 == 61)  
  86.         return out;  
  87.         c4 = base64DecodeChars[c4];  
  88.     } while(i < len && c4 == -1);  
  89.     if(c4 == -1)  
  90.         break;  
  91.     out += String.fromCharCode(((c3 & 0x03) << 6) | c4);  
  92.     }  
  93.     return out;  
  94. }  
  95.   
  96. function utf16to8(str) {  
  97.     var out, i, len, c;  
  98.   
  99.     out = "";  
  100.     len = str.length;  
  101.     for(i = 0; i < len; i++) {  
  102.     c = str.charCodeAt(i);  
  103.     if ((c >= 0x0001) && (c <= 0x007F)) {  
  104.         out += str.charAt(i);  
  105.     } else if (c > 0x07FF) {  
  106.         out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));  
  107.         out += String.fromCharCode(0x80 | ((c >>  6) & 0x3F));  
  108.         out += String.fromCharCode(0x80 | ((c >>  0) & 0x3F));  
  109.     } else {  
  110.         out += String.fromCharCode(0xC0 | ((c >>  6) & 0x1F));  
  111.         out += String.fromCharCode(0x80 | ((c >>  0) & 0x3F));  
  112.     }  
  113.     }  
  114.     return out;  
  115. }  
  116.   
  117. function utf8to16(str) {  
  118.     var out, i, len, c;  
  119.     var char2, char3;  
  120.   
  121.     out = "";  
  122.     len = str.length;  
  123.     i = 0;  
  124.     while(i < len) {  
  125.     c = str.charCodeAt(i++);  
  126.     switch(c >> 4)  
  127.     {   
  128.       case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:  
  129.         // 0xxxxxxx  
  130.         out += str.charAt(i-1);  
  131.         break;  
  132.       case 12: case 13:  
  133.         // 110x xxxx   10xx xxxx  
  134.         char2 = str.charCodeAt(i++);  
  135.         out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));  
  136.         break;  
  137.       case 14:  
  138.         // 1110 xxxx  10xx xxxx  10xx xxxx  
  139.         char2 = str.charCodeAt(i++);  
  140.         char3 = str.charCodeAt(i++);  
  141.         out += String.fromCharCode(((c & 0x0F) << 12) |  
  142.                        ((char2 & 0x3F) << 6) |  
  143.                        ((char3 & 0x3F) << 0));  
  144.         break;  
  145.     }  
  146.     }  
  147.   
  148.     return out;  
  149. }  
  150.   
  151. function CharToHex(str) {  
  152.     var out, i, len, c, h;  
  153.   
  154.     out = "";  
  155.     len = str.length;  
  156.     i = 0;  
  157.     while(i < len)   
  158.     {  
  159.         c = str.charCodeAt(i++);  
  160.         h = c.toString(16);  
  161.         if(h.length < 2)  
  162.             h = "0" + h;  
  163.          
  164.         out += "\\x" + h + " ";  
  165.         if(i > 0 && i % 8 == 0)  
  166.             out += "\r\n";  
  167.     }  
  168.   
  169.     return out;  
  170. }
  171. //这是 https://www.ctyun.cn/auth/#/login  登录密码的加密js

  172. //encrypt("13888@126.com","666666");

  173. function encrypt(t,e){
  174.         var n = c(t, 0, 24);
  175.         return base64encode(s(n.key, e, 1, 0, 0, 1));
  176. }



  177. c = function c(t, e, n) {
  178.         return {
  179.                 key: u(t.slice(e, n)),
  180.                 vector: 1
  181.         };
  182. }

  183. u = function u(t) {
  184.         for (var e = t.length; e < 24; e++) {
  185.                 t += "0";
  186.         }
  187.         return t;
  188. }

  189. s = function s(t, e, n, r, i, o) {
  190.         
  191.         n && (e = unescape(encodeURIComponent(e)));
  192.         var s, c, u, l, d, f, h, p, v, m, g, b, y, _, x = new Array(16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756), w = new Array(-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344), C = new Array(520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584), k = new Array(8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928), A = new Array(256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080), I = new Array(536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312), S = new Array(2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154), E = new Array(268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696), M = a(t), $ = 0, T = e.length, P = 0, O = 32 == M.length ? 3 : 9;
  193.         p = 3 == O ? n ? new Array(0,32,2) : new Array(30,-2,-2) : n ? new Array(0,32,2,62,30,-2,64,96,2) : new Array(94,62,-2,32,64,2,30,-2,-2),
  194.         2 == o ? e += "        " : 1 == o ? n && (u = 8 - T % 8,
  195.         e += String.fromCharCode(u, u, u, u, u, u, u, u),
  196.         8 === u && (T += 8)) : o || (e += "\0\0\0\0\0\0\0\0");
  197.         var D = ""
  198.           , R = "";
  199.         for (1 == r && (v = i.charCodeAt($++) << 24 | i.charCodeAt($++) << 16 | i.charCodeAt($++) << 8 | i.charCodeAt($++),
  200.         g = i.charCodeAt($++) << 24 | i.charCodeAt($++) << 16 | i.charCodeAt($++) << 8 | i.charCodeAt($++),
  201.         $ = 0); $ < T; ) {
  202.                 for (f = e.charCodeAt($++) << 24 | e.charCodeAt($++) << 16 | e.charCodeAt($++) << 8 | e.charCodeAt($++),
  203.                 h = e.charCodeAt($++) << 24 | e.charCodeAt($++) << 16 | e.charCodeAt($++) << 8 | e.charCodeAt($++),
  204.                 1 == r && (n ? (f ^= v,
  205.                 h ^= g) : (m = v,
  206.                 b = g,
  207.                 v = f,
  208.                 g = h)),
  209.                 f ^= (u = 252645135 & (f >>> 4 ^ h)) << 4,
  210.                 f ^= (u = 65535 & (f >>> 16 ^ (h ^= u))) << 16,
  211.                 f ^= u = 858993459 & ((h ^= u) >>> 2 ^ f),
  212.                 f ^= u = 16711935 & ((h ^= u << 2) >>> 8 ^ f),
  213.                 f = (f ^= (u = 1431655765 & (f >>> 1 ^ (h ^= u << 8))) << 1) << 1 | f >>> 31,
  214.                 h = (h ^= u) << 1 | h >>> 31,
  215.                 c = 0; c < O; c += 3) {
  216.                         for (y = p[c + 1],
  217.                         _ = p[c + 2],
  218.                         s = p[c]; s != y; s += _) {
  219.                                 l = h ^ M[s],
  220.                                 d = (h >>> 4 | h << 28) ^ M[s + 1],
  221.                                 u = f,
  222.                                 f = h,
  223.                                 h = u ^ (w[l >>> 24 & 63] | k[l >>> 16 & 63] | I[l >>> 8 & 63] | E[63 & l] | x[d >>> 24 & 63] | C[d >>> 16 & 63] | A[d >>> 8 & 63] | S[63 & d]);
  224.                         }
  225.                         u = f,
  226.                         f = h,
  227.                         h = u;
  228.                 }
  229.                 h = h >>> 1 | h << 31,
  230.                 h ^= u = 1431655765 & ((f = f >>> 1 | f << 31) >>> 1 ^ h),
  231.                 h ^= (u = 16711935 & (h >>> 8 ^ (f ^= u << 1))) << 8,
  232.                 h ^= (u = 858993459 & (h >>> 2 ^ (f ^= u))) << 2,
  233.                 h ^= u = 65535 & ((f ^= u) >>> 16 ^ h),
  234.                 h ^= u = 252645135 & ((f ^= u << 16) >>> 4 ^ h),
  235.                 f ^= u << 4,
  236.                 1 == r && (n ? (v = f,
  237.                 g = h) : (f ^= m,
  238.                 h ^= b)),
  239.                 R += String.fromCharCode(f >>> 24, f >>> 16 & 255, f >>> 8 & 255, 255 & f, h >>> 24, h >>> 16 & 255, h >>> 8 & 255, 255 & h),
  240.                 512 == (P += 8) && (D += R,
  241.                 R = "",
  242.                 P = 0);
  243.         }
  244.         if (D += R,
  245.         !n) {
  246.                 if (1 === o) {
  247.                         var j = D.length
  248.                           , L = 0;
  249.                         j && (L = D.charCodeAt(j - 1)),
  250.                         L <= 8 && (D = D.substring(0, j - L));
  251.                 }
  252.                 D = decodeURIComponent(escape(D));
  253.         }
  254.         return D;
  255. }



  256. a = function a(t) {
  257.         for (var e, n, r, i = new Array(0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964), o = new Array(0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697), s = new Array(0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272), a = new Array(0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144), c = new Array(0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256), u = new Array(0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488), l = new Array(0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746), d = new Array(0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568), f = new Array(0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578), h = new Array(0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488), p = new Array(0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800), v = new Array(0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744), m = new Array(0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128), g = new Array(0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261), b = t.length > 8 ? 3 : 1, y = new Array(32 * b), _ = new Array(0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0), x = 0, w = 0, C = 0; C < b; C++) {
  258.                 var k = t.charCodeAt(x++) << 24 | t.charCodeAt(x++) << 16 | t.charCodeAt(x++) << 8 | t.charCodeAt(x++)
  259.                   , A = t.charCodeAt(x++) << 24 | t.charCodeAt(x++) << 16 | t.charCodeAt(x++) << 8 | t.charCodeAt(x++);
  260.                 k ^= (r = 252645135 & (k >>> 4 ^ A)) << 4,
  261.                 k ^= r = 65535 & ((A ^= r) >>> -16 ^ k),
  262.                 k ^= (r = 858993459 & (k >>> 2 ^ (A ^= r << -16))) << 2,
  263.                 k ^= r = 65535 & ((A ^= r) >>> -16 ^ k),
  264.                 k ^= (r = 1431655765 & (k >>> 1 ^ (A ^= r << -16))) << 1,
  265.                 k ^= r = 16711935 & ((A ^= r) >>> 8 ^ k),
  266.                 r = (k ^= (r = 1431655765 & (k >>> 1 ^ (A ^= r << 8))) << 1) << 8 | (A ^= r) >>> 20 & 240,
  267.                 k = A << 24 | A << 8 & 16711680 | A >>> 8 & 65280 | A >>> 24 & 240,
  268.                 A = r;
  269.                 for (var I = 0; I < _.length; I++) {
  270.                         _[I] ? (k = k << 2 | k >>> 26,
  271.                         A = A << 2 | A >>> 26) : (k = k << 1 | k >>> 27,
  272.                         A = A << 1 | A >>> 27),
  273.                         A &= -15,
  274.                         e = i[(k &= -15) >>> 28] | o[k >>> 24 & 15] | s[k >>> 20 & 15] | a[k >>> 16 & 15] | c[k >>> 12 & 15] | u[k >>> 8 & 15] | l[k >>> 4 & 15],
  275.                         r = 65535 & ((n = d[A >>> 28] | f[A >>> 24 & 15] | h[A >>> 20 & 15] | p[A >>> 16 & 15] | v[A >>> 12 & 15] | m[A >>> 8 & 15] | g[A >>> 4 & 15]) >>> 16 ^ e),
  276.                         y[w++] = e ^ r,
  277.                         y[w++] = n ^ r << 16;
  278.                 }
  279.         }
  280.         return y;
  281. }


复制代码


回复 支持 反对

使用道具 举报

结帖率:87% (34/39)

签到天数: 2 天

发表于 2019-8-12 21:46:51 | 显示全部楼层   四川省成都市
btoa不是base64编码,略有不同,然后一般会适配的,应该可以在源码里面找到自定义的它。实在找不到的话,TX滑块的TDC里面搜window.btoa也是有的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-12 20:19:30 高大上手机用户 | 显示全部楼层   广东省佛山市
Qmoon 发表于 2019-8-12 20:16
btoa就是 base64编码 自己把这些函数替换成对应的功能不就行了?base64 源码网上不是一堆?

好…我承认自己菜{:3_47:}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-12 20:18:42 高大上手机用户 | 显示全部楼层   广东省佛山市
本帖最后由 陈king 于 2019-8-12 20:20 编辑

回复 支持 反对

使用道具 举报

结帖率:100% (4/4)
发表于 2019-8-12 20:16:20 | 显示全部楼层   广西壮族自治区百色市
btoa就是 base64编码 自己把这些函数替换成对应的功能不就行了?base64 源码网上不是一堆?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表