amos-apptool 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,552 @@
1
+ const DesUtils = {}, DesCore = {}, isEmpty = e => null == e || "" == e;
2
+
3
+ function getKeyBytes(e) {
4
+ let r = [], t = e.length, n = parseInt(t / 4), s = t % 4, o = 0;
5
+ for (o = 0; o < n; o++) r[o] = strToBt(e.substring(4 * o + 0, 4 * o + 4));
6
+ return s > 0 && (r[o] = strToBt(e.substring(4 * o + 0, t))), r;
7
+ }
8
+
9
+ function strToBt(e) {
10
+ let r = e.length, t = new Array(64);
11
+ if (r < 4) {
12
+ let n = 0, s = 0, o = 0, a = 0;
13
+ for (n = 0; n < r; n++) {
14
+ let r = e.charCodeAt(n);
15
+ for (s = 0; s < 16; s++) {
16
+ let e = 1, o = 0;
17
+ for (o = 15; o > s; o--) e *= 2;
18
+ t[16 * n + s] = parseInt(r / e) % 2;
19
+ }
20
+ }
21
+ for (o = r; o < 4; o++) {
22
+ let e = 0;
23
+ for (a = 0; a < 16; a++) {
24
+ let r = 1, n = 0;
25
+ for (n = 15; n > a; n--) r *= 2;
26
+ t[16 * o + a] = parseInt(e / r) % 2;
27
+ }
28
+ }
29
+ } else {
30
+ let r = 0, n = 0;
31
+ for (r = 0; r < 4; r++) {
32
+ let s = e.charCodeAt(r);
33
+ for (n = 0; n < 16; n++) {
34
+ let e = 1;
35
+ for (let r = 15; r > n; r--) e *= 2;
36
+ t[16 * r + n] = parseInt(s / e) % 2;
37
+ }
38
+ }
39
+ }
40
+ return t;
41
+ }
42
+
43
+ function bt4ToHex(e) {
44
+ return parseInt(e, 2).toString(16).toUpperCase();
45
+ }
46
+
47
+ function enc(e, r) {
48
+ let t = generateKeys(r), n = initPermute(e), s = new Array(32), o = new Array(32), a = new Array(32), l = 0, f = 0, i = 0, c = 0, u = 0;
49
+ for (i = 0; i < 32; i++) s[i] = n[i], o[i] = n[32 + i];
50
+ for (l = 0; l < 16; l++) {
51
+ for (f = 0; f < 32; f++) a[f] = s[f], s[f] = o[f];
52
+ let e = new Array(48);
53
+ for (c = 0; c < 48; c++) e[c] = t[l][c];
54
+ let r = xor(pPermute(sBoxPermute(xor(expandPermute(o), e))), a);
55
+ for (u = 0; u < 32; u++) o[u] = r[u];
56
+ }
57
+ let y = new Array(64);
58
+ for (l = 0; l < 32; l++) y[l] = o[l], y[32 + l] = s[l];
59
+ return finallyPermute(y);
60
+ }
61
+
62
+ function generateKeys(e) {
63
+ let r = new Array(56), t = [];
64
+ t[0] = [], t[1] = [], t[2] = [], t[3] = [], t[4] = [], t[5] = [], t[6] = [], t[7] = [],
65
+ t[8] = [], t[9] = [], t[10] = [], t[11] = [], t[12] = [], t[13] = [], t[14] = [],
66
+ t[15] = [];
67
+ let n = [ 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1 ];
68
+ for (let t = 0; t < 7; t++) for (let n = 0, s = 7; n < 8; n++, s--) r[8 * t + n] = e[8 * s + t];
69
+ for (let e = 0; e < 16; e++) {
70
+ let s = 0, o = 0;
71
+ for (let t = 0; t < n[e]; t++) {
72
+ s = r[0], o = r[28];
73
+ for (let e = 0; e < 27; e++) r[e] = r[e + 1], r[28 + e] = r[29 + e];
74
+ r[27] = s, r[55] = o;
75
+ }
76
+ let a = new Array(48);
77
+ switch (a[0] = r[13], a[1] = r[16], a[2] = r[10], a[3] = r[23], a[4] = r[0], a[5] = r[4],
78
+ a[6] = r[2], a[7] = r[27], a[8] = r[14], a[9] = r[5], a[10] = r[20], a[11] = r[9],
79
+ a[12] = r[22], a[13] = r[18], a[14] = r[11], a[15] = r[3], a[16] = r[25], a[17] = r[7],
80
+ a[18] = r[15], a[19] = r[6], a[20] = r[26], a[21] = r[19], a[22] = r[12], a[23] = r[1],
81
+ a[24] = r[40], a[25] = r[51], a[26] = r[30], a[27] = r[36], a[28] = r[46], a[29] = r[54],
82
+ a[30] = r[29], a[31] = r[39], a[32] = r[50], a[33] = r[44], a[34] = r[32], a[35] = r[47],
83
+ a[36] = r[43], a[37] = r[48], a[38] = r[38], a[39] = r[55], a[40] = r[33], a[41] = r[52],
84
+ a[42] = r[45], a[43] = r[41], a[44] = r[49], a[45] = r[35], a[46] = r[28], a[47] = r[31],
85
+ e) {
86
+ case 0:
87
+ for (let e = 0; e < 48; e++) t[0][e] = a[e];
88
+ break;
89
+
90
+ case 1:
91
+ for (let e = 0; e < 48; e++) t[1][e] = a[e];
92
+ break;
93
+
94
+ case 2:
95
+ for (let e = 0; e < 48; e++) t[2][e] = a[e];
96
+ break;
97
+
98
+ case 3:
99
+ for (let e = 0; e < 48; e++) t[3][e] = a[e];
100
+ break;
101
+
102
+ case 4:
103
+ for (let e = 0; e < 48; e++) t[4][e] = a[e];
104
+ break;
105
+
106
+ case 5:
107
+ for (let e = 0; e < 48; e++) t[5][e] = a[e];
108
+ break;
109
+
110
+ case 6:
111
+ for (let e = 0; e < 48; e++) t[6][e] = a[e];
112
+ break;
113
+
114
+ case 7:
115
+ for (let e = 0; e < 48; e++) t[7][e] = a[e];
116
+ break;
117
+
118
+ case 8:
119
+ for (let e = 0; e < 48; e++) t[8][e] = a[e];
120
+ break;
121
+
122
+ case 9:
123
+ for (let e = 0; e < 48; e++) t[9][e] = a[e];
124
+ break;
125
+
126
+ case 10:
127
+ for (let e = 0; e < 48; e++) t[10][e] = a[e];
128
+ break;
129
+
130
+ case 11:
131
+ for (let e = 0; e < 48; e++) t[11][e] = a[e];
132
+ break;
133
+
134
+ case 12:
135
+ for (let e = 0; e < 48; e++) t[12][e] = a[e];
136
+ break;
137
+
138
+ case 13:
139
+ for (let e = 0; e < 48; e++) t[13][e] = a[e];
140
+ break;
141
+
142
+ case 14:
143
+ for (let e = 0; e < 48; e++) t[14][e] = a[e];
144
+ break;
145
+
146
+ case 15:
147
+ for (let e = 0; e < 48; e++) t[15][e] = a[e];
148
+ }
149
+ }
150
+ return t;
151
+ }
152
+
153
+ function initPermute(e) {
154
+ let r = new Array(64);
155
+ for (let t = 0, n = 1, s = 0; t < 4; t++, n += 2, s += 2) for (let o = 7, a = 0; o >= 0; o--,
156
+ a++) r[8 * t + a] = e[8 * o + n], r[8 * t + a + 32] = e[8 * o + s];
157
+ return r;
158
+ }
159
+
160
+ function xor(e, r) {
161
+ let t = new Array(e.length);
162
+ for (let n = 0; n < e.length; n++) t[n] = e[n] ^ r[n];
163
+ return t;
164
+ }
165
+
166
+ function pPermute(e) {
167
+ let r = new Array(32);
168
+ return r[0] = e[15], r[1] = e[6], r[2] = e[19], r[3] = e[20], r[4] = e[28], r[5] = e[11],
169
+ r[6] = e[27], r[7] = e[16], r[8] = e[0], r[9] = e[14], r[10] = e[22], r[11] = e[25],
170
+ r[12] = e[4], r[13] = e[17], r[14] = e[30], r[15] = e[9], r[16] = e[1], r[17] = e[7],
171
+ r[18] = e[23], r[19] = e[13], r[20] = e[31], r[21] = e[26], r[22] = e[2], r[23] = e[8],
172
+ r[24] = e[18], r[25] = e[12], r[26] = e[29], r[27] = e[5], r[28] = e[21], r[29] = e[10],
173
+ r[30] = e[3], r[31] = e[24], r;
174
+ }
175
+
176
+ function sBoxPermute(e) {
177
+ let r = new Array(32), t = "", n = [ [ 14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7 ], [ 0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8 ], [ 4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0 ], [ 15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13 ] ], s = [ [ 15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10 ], [ 3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5 ], [ 0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15 ], [ 13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9 ] ], o = [ [ 10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8 ], [ 13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1 ], [ 13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7 ], [ 1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12 ] ], a = [ [ 7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15 ], [ 13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9 ], [ 10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4 ], [ 3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14 ] ], l = [ [ 2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9 ], [ 14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6 ], [ 4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14 ], [ 11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3 ] ], f = [ [ 12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11 ], [ 10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8 ], [ 9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6 ], [ 4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13 ] ], i = [ [ 4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1 ], [ 13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6 ], [ 1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2 ], [ 6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12 ] ], c = [ [ 13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7 ], [ 1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2 ], [ 7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8 ], [ 2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11 ] ];
178
+ for (let u = 0; u < 8; u++) {
179
+ let y = 0, b = 0;
180
+ switch (y = 2 * e[6 * u + 0] + e[6 * u + 5], b = 2 * e[6 * u + 1] * 2 * 2 + 2 * e[6 * u + 2] * 2 + 2 * e[6 * u + 3] + e[6 * u + 4],
181
+ u) {
182
+ case 0:
183
+ t = getBoxBinary(n[y][b]);
184
+ break;
185
+
186
+ case 1:
187
+ t = getBoxBinary(s[y][b]);
188
+ break;
189
+
190
+ case 2:
191
+ t = getBoxBinary(o[y][b]);
192
+ break;
193
+
194
+ case 3:
195
+ t = getBoxBinary(a[y][b]);
196
+ break;
197
+
198
+ case 4:
199
+ t = getBoxBinary(l[y][b]);
200
+ break;
201
+
202
+ case 5:
203
+ t = getBoxBinary(f[y][b]);
204
+ break;
205
+
206
+ case 6:
207
+ t = getBoxBinary(i[y][b]);
208
+ break;
209
+
210
+ case 7:
211
+ t = getBoxBinary(c[y][b]);
212
+ }
213
+ r[4 * u + 0] = parseInt(t.substring(0, 1)), r[4 * u + 1] = parseInt(t.substring(1, 2)),
214
+ r[4 * u + 2] = parseInt(t.substring(2, 3)), r[4 * u + 3] = parseInt(t.substring(3, 4));
215
+ }
216
+ return r;
217
+ }
218
+
219
+ function expandPermute(e) {
220
+ let r = new Array(48);
221
+ for (let t = 0; t < 8; t++) r[6 * t + 0] = 0 == t ? e[31] : e[4 * t - 1], r[6 * t + 1] = e[4 * t + 0],
222
+ r[6 * t + 2] = e[4 * t + 1], r[6 * t + 3] = e[4 * t + 2], r[6 * t + 4] = e[4 * t + 3],
223
+ r[6 * t + 5] = 7 == t ? e[0] : e[4 * t + 4];
224
+ return r;
225
+ }
226
+
227
+ function getBoxBinary(e) {
228
+ let r = "";
229
+ switch (e) {
230
+ case 0:
231
+ r = "0000";
232
+ break;
233
+
234
+ case 1:
235
+ r = "0001";
236
+ break;
237
+
238
+ case 2:
239
+ r = "0010";
240
+ break;
241
+
242
+ case 3:
243
+ r = "0011";
244
+ break;
245
+
246
+ case 4:
247
+ r = "0100";
248
+ break;
249
+
250
+ case 5:
251
+ r = "0101";
252
+ break;
253
+
254
+ case 6:
255
+ r = "0110";
256
+ break;
257
+
258
+ case 7:
259
+ r = "0111";
260
+ break;
261
+
262
+ case 8:
263
+ r = "1000";
264
+ break;
265
+
266
+ case 9:
267
+ r = "1001";
268
+ break;
269
+
270
+ case 10:
271
+ r = "1010";
272
+ break;
273
+
274
+ case 11:
275
+ r = "1011";
276
+ break;
277
+
278
+ case 12:
279
+ r = "1100";
280
+ break;
281
+
282
+ case 13:
283
+ r = "1101";
284
+ break;
285
+
286
+ case 14:
287
+ r = "1110";
288
+ break;
289
+
290
+ case 15:
291
+ r = "1111";
292
+ }
293
+ return r;
294
+ }
295
+
296
+ function finallyPermute(e) {
297
+ let r = new Array(64);
298
+ return r[0] = e[39], r[1] = e[7], r[2] = e[47], r[3] = e[15], r[4] = e[55], r[5] = e[23],
299
+ r[6] = e[63], r[7] = e[31], r[8] = e[38], r[9] = e[6], r[10] = e[46], r[11] = e[14],
300
+ r[12] = e[54], r[13] = e[22], r[14] = e[62], r[15] = e[30], r[16] = e[37], r[17] = e[5],
301
+ r[18] = e[45], r[19] = e[13], r[20] = e[53], r[21] = e[21], r[22] = e[61], r[23] = e[29],
302
+ r[24] = e[36], r[25] = e[4], r[26] = e[44], r[27] = e[12], r[28] = e[52], r[29] = e[20],
303
+ r[30] = e[60], r[31] = e[28], r[32] = e[35], r[33] = e[3], r[34] = e[43], r[35] = e[11],
304
+ r[36] = e[51], r[37] = e[19], r[38] = e[59], r[39] = e[27], r[40] = e[34], r[41] = e[2],
305
+ r[42] = e[42], r[43] = e[10], r[44] = e[50], r[45] = e[18], r[46] = e[58], r[47] = e[26],
306
+ r[48] = e[33], r[49] = e[1], r[50] = e[41], r[51] = e[9], r[52] = e[49], r[53] = e[17],
307
+ r[54] = e[57], r[55] = e[25], r[56] = e[32], r[57] = e[0], r[58] = e[40], r[59] = e[8],
308
+ r[60] = e[48], r[61] = e[16], r[62] = e[56], r[63] = e[24], r;
309
+ }
310
+
311
+ function bt64ToHex(e) {
312
+ let r = "";
313
+ if (e) for (let t = 0; t < 16; t++) {
314
+ let n = "";
315
+ for (let r = 0; r < 4; r++) n += e[4 * t + r];
316
+ r += bt4ToHex(n);
317
+ }
318
+ return r;
319
+ }
320
+
321
+ function hexToBt64(e) {
322
+ let r = "";
323
+ for (let t = 0; t < 16; t++) r += hexToBt4(e.substring(t, t + 1));
324
+ return r;
325
+ }
326
+
327
+ function hexToBt4(e) {
328
+ let r;
329
+ switch (e) {
330
+ case "0":
331
+ r = "0000";
332
+ break;
333
+
334
+ case "1":
335
+ r = "0001";
336
+ break;
337
+
338
+ case "2":
339
+ r = "0010";
340
+ break;
341
+
342
+ case "3":
343
+ r = "0011";
344
+ break;
345
+
346
+ case "4":
347
+ r = "0100";
348
+ break;
349
+
350
+ case "5":
351
+ r = "0101";
352
+ break;
353
+
354
+ case "6":
355
+ r = "0110";
356
+ break;
357
+
358
+ case "7":
359
+ r = "0111";
360
+ break;
361
+
362
+ case "8":
363
+ r = "1000";
364
+ break;
365
+
366
+ case "9":
367
+ r = "1001";
368
+ break;
369
+
370
+ case "A":
371
+ r = "1010";
372
+ break;
373
+
374
+ case "B":
375
+ r = "1011";
376
+ break;
377
+
378
+ case "C":
379
+ r = "1100";
380
+ break;
381
+
382
+ case "D":
383
+ r = "1101";
384
+ break;
385
+
386
+ case "E":
387
+ r = "1110";
388
+ break;
389
+
390
+ case "F":
391
+ r = "1111";
392
+ }
393
+ return r;
394
+ }
395
+
396
+ function dec(e, r) {
397
+ let t = generateKeys(r), n = initPermute(e), s = new Array(32), o = new Array(32), a = new Array(32), l = 0, f = 0, i = 0, c = 0, u = 0;
398
+ for (i = 0; i < 32; i++) s[i] = n[i], o[i] = n[32 + i];
399
+ for (l = 15; l >= 0; l--) {
400
+ for (f = 0; f < 32; f++) a[f] = s[f], s[f] = o[f];
401
+ let e = new Array(48);
402
+ for (c = 0; c < 48; c++) e[c] = t[l][c];
403
+ let r = xor(pPermute(sBoxPermute(xor(expandPermute(o), e))), a);
404
+ for (u = 0; u < 32; u++) o[u] = r[u];
405
+ }
406
+ let y = new Array(64);
407
+ for (l = 0; l < 32; l++) y[l] = o[l], y[32 + l] = s[l];
408
+ return finallyPermute(y);
409
+ }
410
+
411
+ function byteToString(e) {
412
+ let r = "";
413
+ for (let t = 0; t < 4; t++) {
414
+ let n = 0;
415
+ for (let r = 0; r < 16; r++) {
416
+ let s = 1;
417
+ for (let e = 15; e > r; e--) s *= 2;
418
+ n += e[16 * t + r] * s;
419
+ }
420
+ 0 != n && (r += String.fromCharCode(n));
421
+ }
422
+ return r;
423
+ }
424
+
425
+ DesCore.encode = function(e, r, t, n) {
426
+ if (!e || 0 == e.trim().length) return e;
427
+ let s, o, a, l, f, i, c = e.length, u = "";
428
+ if (isEmpty(r) || (s = getKeyBytes(r), l = s.length), isEmpty(t) || (o = getKeyBytes(t),
429
+ f = o.length), isEmpty(n) || (a = getKeyBytes(n), i = a.length), c > 0) if (c < 4) {
430
+ let c, y = strToBt(e);
431
+ if (isEmpty(r) || isEmpty(t) || isEmpty(n)) if (isEmpty(r) || isEmpty(t)) {
432
+ if (!isEmpty(r)) {
433
+ let e, r = 0;
434
+ for (e = y, r = 0; r < l; r++) e = enc(e, s[r]);
435
+ c = e;
436
+ }
437
+ } else {
438
+ let e, r, t;
439
+ for (e = y, r = 0; r < l; r++) e = enc(e, s[r]);
440
+ for (t = 0; t < f; t++) e = enc(e, o[t]);
441
+ c = e;
442
+ } else {
443
+ let e, r, t, n;
444
+ for (e = y, r = 0; r < l; r++) e = enc(e, s[r]);
445
+ for (t = 0; t < f; t++) e = enc(e, o[t]);
446
+ for (n = 0; n < i; n++) e = enc(e, a[n]);
447
+ c = e;
448
+ }
449
+ u = bt64ToHex(c);
450
+ } else {
451
+ let y = parseInt(c / 4), b = c % 4, p = 0;
452
+ for (p = 0; p < y; p++) {
453
+ let c, y = strToBt(e.substring(4 * p + 0, 4 * p + 4));
454
+ if (isEmpty(r) || isEmpty(t) || isEmpty(n)) if (isEmpty(r) || isEmpty(t)) {
455
+ if (!isEmpty(r)) {
456
+ let e, r;
457
+ for (e = y, r = 0; r < l; r++) e = enc(e, s[r]);
458
+ c = e;
459
+ }
460
+ } else {
461
+ let e, r, t;
462
+ for (e = y, r = 0; r < l; r++) e = enc(e, s[r]);
463
+ for (t = 0; t < f; t++) e = enc(e, o[t]);
464
+ c = e;
465
+ } else {
466
+ let e, r, t, n;
467
+ for (e = y, r = 0; r < l; r++) e = enc(e, s[r]);
468
+ for (t = 0; t < f; t++) e = enc(e, o[t]);
469
+ for (n = 0; n < i; n++) e = enc(e, a[n]);
470
+ c = e;
471
+ }
472
+ u += bt64ToHex(c);
473
+ }
474
+ if (b > 0) {
475
+ let b, p = strToBt(e.substring(4 * y + 0, c));
476
+ if (isEmpty(r) || isEmpty(t) || isEmpty(n)) if (isEmpty(r) || isEmpty(t)) {
477
+ if (!isEmpty(r)) {
478
+ let e, r;
479
+ for (e = p, r = 0; r < l; r++) e = enc(e, s[r]);
480
+ b = e;
481
+ }
482
+ } else {
483
+ let e, r, t;
484
+ for (e = p, r = 0; r < l; r++) e = enc(e, s[r]);
485
+ for (t = 0; t < f; t++) e = enc(e, o[t]);
486
+ b = e;
487
+ } else {
488
+ let e, r, t, n;
489
+ for (e = p, r = 0; r < l; r++) e = enc(e, s[r]);
490
+ for (t = 0; t < f; t++) e = enc(e, o[t]);
491
+ for (n = 0; n < i; n++) e = enc(e, a[n]);
492
+ b = e;
493
+ }
494
+ u += bt64ToHex(b);
495
+ }
496
+ }
497
+ return u;
498
+ }, DesCore.decode = function(e, r, t, n) {
499
+ if (!e || 0 == e.trim().length) return e;
500
+ let s, o, a, l, f, i, c = e.length, u = "";
501
+ isEmpty(r) || (s = getKeyBytes(r), l = s.length), null != t && "" != t && (o = getKeyBytes(t),
502
+ f = o.length), null != n && "" != n && (a = getKeyBytes(n), i = a.length);
503
+ let y = parseInt(c / 16), b = 0;
504
+ for (b = 0; b < y; b++) {
505
+ let c, y = hexToBt64(e.substring(16 * b + 0, 16 * b + 16)), p = new Array(64), g = 0;
506
+ for (g = 0; g < 64; g++) p[g] = parseInt(y.substring(g, g + 1));
507
+ if (isEmpty(r) || isEmpty(t) || isEmpty(n)) if (isEmpty(r) || isEmpty(t)) {
508
+ if (!isEmpty(r)) {
509
+ let e, r;
510
+ for (e = p, r = l - 1; r >= 0; r--) e = dec(e, s[r]);
511
+ c = e;
512
+ }
513
+ } else {
514
+ let e, r, t;
515
+ for (e = p, r = f - 1; r >= 0; r--) e = dec(e, o[r]);
516
+ for (t = l - 1; t >= 0; t--) e = dec(e, s[t]);
517
+ c = e;
518
+ } else {
519
+ let e, r, t, n;
520
+ for (e = p, r = i - 1; r >= 0; r--) e = dec(e, a[r]);
521
+ for (t = f - 1; t >= 0; t--) e = dec(e, o[t]);
522
+ for (n = l - 1; n >= 0; n--) e = dec(e, s[n]);
523
+ c = e;
524
+ }
525
+ u += byteToString(c);
526
+ }
527
+ return u;
528
+ }, DesUtils.encode = function(e, r) {
529
+ if (isEmpty(r)) throw new Error("[DesUtils.encode] method parameter `secretKey` required.");
530
+ if ("," === r) return DesCore.encode(e, r);
531
+ if (!(r.indexOf(",") > -1)) return DesCore.encode(e, r);
532
+ {
533
+ const t = r.split(",");
534
+ if (t.length > 2) return DesCore.encode(e, t[0], t[1], t[2]);
535
+ if (1 === t.length) return DesCore.encode(e, t[0]);
536
+ if (2 === t.length) return DesCore.encode(e, t[0], t[1]);
537
+ }
538
+ return e;
539
+ }, DesUtils.decode = function(e, r) {
540
+ if (isEmpty(r)) throw new Error("[DesUtils.encode] method parameter `secretKey` required.");
541
+ if ("," === r) return DesCore.decode(e, r);
542
+ if (!(r.indexOf(",") > -1)) return DesCore.decode(e, r);
543
+ {
544
+ const t = r.split(",");
545
+ if (t.length > 2) return DesCore.decode(e, t[0], t[1], t[2]);
546
+ if (1 === t.length) return DesCore.decode(e, t[0]);
547
+ if (2 === t.length) return DesCore.decode(e, t[0], t[1]);
548
+ }
549
+ return e;
550
+ }, DesUtils.DesCore = DesCore;
551
+
552
+ export default DesUtils;
package/esm/index.js ADDED
@@ -0,0 +1,73 @@
1
+ export { default as Base64 } from "./encrypt/_base64";
2
+
3
+ export { default as MD5 } from "./encrypt/_md5";
4
+
5
+ export { default as DES } from "./encrypt/des";
6
+
7
+ export * from "./_clone";
8
+
9
+ export * from "./_deepCopy";
10
+
11
+ export { default as deepEqual } from "./_deepEqual";
12
+
13
+ export { default as fastDeepEqual } from "./_fastDeepEqual";
14
+
15
+ export { default as isNode } from "./_isnode";
16
+
17
+ export { default as omit } from "./_omit";
18
+
19
+ export { default as parseJson } from "./_parseJson";
20
+
21
+ export { default as pick } from "./_pick";
22
+
23
+ export { default as pickBy } from "./_pickBy";
24
+
25
+ export { default as Queue } from "./_queue";
26
+
27
+ export { default as shallowCopy } from "./_shallowCopy";
28
+
29
+ export { default as stringify } from "./_stringify";
30
+
31
+ export { default as trim } from "./_trim";
32
+
33
+ export { default as UUID } from "./_uuids";
34
+
35
+ export { default as merged } from "./merged";
36
+
37
+ export { default as objectPath } from "./objectPath";
38
+
39
+ export { default as parseText } from "./parseText";
40
+
41
+ export { default as pwdPolicy } from "./pwdPolicy";
42
+
43
+ export { default as random } from "./random";
44
+
45
+ export * from "./shallowEqual";
46
+
47
+ export { default as strUtils } from "./strUtils";
48
+
49
+ export { default as utils } from "./utils";
50
+
51
+ export { default as addition } from "./math/addition";
52
+
53
+ export { default as amountCase } from "./math/amountCase";
54
+
55
+ export { default as coinFormat } from "./math/coinFormat";
56
+
57
+ export { default as colorUtil } from "./math/colorUtil";
58
+
59
+ export { default as dateTime } from "./math/dateTime";
60
+
61
+ export { default as pwdStrength } from "./math/pwdStrength";
62
+
63
+ export { default as randomColor } from "./math/randomColor";
64
+
65
+ export { default as subtraction } from "./math/subtraction";
66
+
67
+ export { default as accMul } from "./math/mul";
68
+
69
+ export { default as accDivide } from "./math/divide";
70
+
71
+ export { default as encodeUrl } from "./url/encodeUrl";
72
+
73
+ export { default as restfulUrl } from "./url/restfulUrl";