@ivujs/i-utils 1.1.1 → 1.1.2

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.
Files changed (140) hide show
  1. package/README.md +17 -19
  2. package/dist/cjs/id/index.cjs +26 -43
  3. package/dist/cjs/index.cjs +8 -398
  4. package/dist/es/id/index.d.ts +16 -0
  5. package/dist/es/id/index.mjs +28 -42
  6. package/dist/es/index.d.ts +2 -0
  7. package/dist/es/index.mjs +8 -58
  8. package/dist/index.d.ts +21 -0
  9. package/dist/lib/index.full.cjs.js +38 -0
  10. package/dist/lib/index.full.cjs.min.js +2 -0
  11. package/dist/lib/index.full.cjs.min.js.map +1 -0
  12. package/dist/lib/index.full.esm.js +35 -15822
  13. package/dist/lib/index.full.esm.min.js +2 -58
  14. package/dist/lib/index.full.esm.min.js.map +1 -0
  15. package/dist/lib/index.full.umd.js +39 -16176
  16. package/dist/lib/index.full.umd.min.js +2 -0
  17. package/dist/lib/index.full.umd.min.js.map +1 -0
  18. package/package.json +77 -54
  19. package/dist/cjs/ID-card/index.cjs +0 -122
  20. package/dist/cjs/array/index.cjs +0 -465
  21. package/dist/cjs/clipboard/index.cjs +0 -135
  22. package/dist/cjs/color/index.cjs +0 -210
  23. package/dist/cjs/constants/date.cjs +0 -186
  24. package/dist/cjs/constants/lang.cjs +0 -13
  25. package/dist/cjs/constants/math.cjs +0 -13
  26. package/dist/cjs/constants/regexp.cjs +0 -57
  27. package/dist/cjs/constants/sort.cjs +0 -15
  28. package/dist/cjs/cookie/index.cjs +0 -71
  29. package/dist/cjs/crypto/aes/aes.cjs +0 -533
  30. package/dist/cjs/crypto/aes/index.cjs +0 -28
  31. package/dist/cjs/crypto/base32/base32.cjs +0 -385
  32. package/dist/cjs/crypto/base32/index.cjs +0 -44
  33. package/dist/cjs/crypto/base64/base64.cjs +0 -433
  34. package/dist/cjs/crypto/base64/index.cjs +0 -64
  35. package/dist/cjs/crypto/des/des.cjs +0 -1054
  36. package/dist/cjs/crypto/des/index.cjs +0 -30
  37. package/dist/cjs/crypto/md5/index.cjs +0 -25
  38. package/dist/cjs/crypto/md5/md5.cjs +0 -944
  39. package/dist/cjs/crypto/sha/sha1/index.cjs +0 -25
  40. package/dist/cjs/crypto/sha/sha1/sha1.cjs +0 -602
  41. package/dist/cjs/crypto/sha/sha256/index.cjs +0 -46
  42. package/dist/cjs/crypto/sha/sha256/sha256.cjs +0 -654
  43. package/dist/cjs/crypto/sha/sha3/index.cjs +0 -44
  44. package/dist/cjs/crypto/sha/sha3/sha3.cjs +0 -747
  45. package/dist/cjs/crypto/sha/sha512/index.cjs +0 -88
  46. package/dist/cjs/crypto/sha/sha512/sha512.cjs +0 -1186
  47. package/dist/cjs/crypto/sm/lib/asn1.cjs +0 -167
  48. package/dist/cjs/crypto/sm/lib/ec.cjs +0 -352
  49. package/dist/cjs/crypto/sm/lib/jsbn.cjs +0 -1633
  50. package/dist/cjs/crypto/sm/lib/sm3.cjs +0 -173
  51. package/dist/cjs/crypto/sm/lib/utils.cjs +0 -198
  52. package/dist/cjs/crypto/sm/sm2/index.cjs +0 -122
  53. package/dist/cjs/crypto/sm/sm2/sm2.cjs +0 -269
  54. package/dist/cjs/crypto/sm/sm3/index.cjs +0 -15
  55. package/dist/cjs/crypto/sm/sm3/sm3.cjs +0 -103
  56. package/dist/cjs/crypto/sm/sm4/index.cjs +0 -28
  57. package/dist/cjs/crypto/sm/sm4/sm4.cjs +0 -362
  58. package/dist/cjs/crypto/tea/index.cjs +0 -26
  59. package/dist/cjs/crypto/tea/tea.cjs +0 -215
  60. package/dist/cjs/date/index.cjs +0 -1349
  61. package/dist/cjs/desensitized/index.cjs +0 -74
  62. package/dist/cjs/device/index.cjs +0 -159
  63. package/dist/cjs/dom/index.cjs +0 -176
  64. package/dist/cjs/file/index.cjs +0 -339
  65. package/dist/cjs/function/index.cjs +0 -67
  66. package/dist/cjs/keycode/index.cjs +0 -142
  67. package/dist/cjs/math/index.cjs +0 -284
  68. package/dist/cjs/number/index.cjs +0 -14
  69. package/dist/cjs/object/index.cjs +0 -216
  70. package/dist/cjs/pagination/index.cjs +0 -140
  71. package/dist/cjs/random/index.cjs +0 -25
  72. package/dist/cjs/regexp/index.cjs +0 -109
  73. package/dist/cjs/storage/index.cjs +0 -11
  74. package/dist/cjs/storage/localStorage.cjs +0 -40
  75. package/dist/cjs/storage/sessionStorage.cjs +0 -40
  76. package/dist/cjs/string/index.cjs +0 -338
  77. package/dist/cjs/url/index.cjs +0 -279
  78. package/dist/cjs/validate/index.cjs +0 -487
  79. package/dist/cjs/weapp/index.cjs +0 -151
  80. package/dist/es/ID-card/index.mjs +0 -116
  81. package/dist/es/array/index.mjs +0 -437
  82. package/dist/es/clipboard/index.mjs +0 -129
  83. package/dist/es/color/index.mjs +0 -200
  84. package/dist/es/constants/date.mjs +0 -184
  85. package/dist/es/constants/lang.mjs +0 -11
  86. package/dist/es/constants/math.mjs +0 -11
  87. package/dist/es/constants/regexp.mjs +0 -55
  88. package/dist/es/constants/sort.mjs +0 -13
  89. package/dist/es/cookie/index.mjs +0 -65
  90. package/dist/es/crypto/aes/aes.mjs +0 -529
  91. package/dist/es/crypto/aes/index.mjs +0 -25
  92. package/dist/es/crypto/base32/base32.mjs +0 -381
  93. package/dist/es/crypto/base32/index.mjs +0 -39
  94. package/dist/es/crypto/base64/base64.mjs +0 -427
  95. package/dist/es/crypto/base64/index.mjs +0 -57
  96. package/dist/es/crypto/des/des.mjs +0 -1050
  97. package/dist/es/crypto/des/index.mjs +0 -27
  98. package/dist/es/crypto/md5/index.mjs +0 -22
  99. package/dist/es/crypto/md5/md5.mjs +0 -941
  100. package/dist/es/crypto/sha/sha1/index.mjs +0 -22
  101. package/dist/es/crypto/sha/sha1/sha1.mjs +0 -599
  102. package/dist/es/crypto/sha/sha256/index.mjs +0 -41
  103. package/dist/es/crypto/sha/sha256/sha256.mjs +0 -649
  104. package/dist/es/crypto/sha/sha3/index.mjs +0 -39
  105. package/dist/es/crypto/sha/sha3/sha3.mjs +0 -742
  106. package/dist/es/crypto/sha/sha512/index.mjs +0 -79
  107. package/dist/es/crypto/sha/sha512/sha512.mjs +0 -1177
  108. package/dist/es/crypto/sm/lib/asn1.mjs +0 -164
  109. package/dist/es/crypto/sm/lib/ec.mjs +0 -349
  110. package/dist/es/crypto/sm/lib/jsbn.mjs +0 -1630
  111. package/dist/es/crypto/sm/lib/sm3.mjs +0 -170
  112. package/dist/es/crypto/sm/lib/utils.mjs +0 -186
  113. package/dist/es/crypto/sm/sm2/index.mjs +0 -111
  114. package/dist/es/crypto/sm/sm2/sm2.mjs +0 -258
  115. package/dist/es/crypto/sm/sm3/index.mjs +0 -13
  116. package/dist/es/crypto/sm/sm3/sm3.mjs +0 -99
  117. package/dist/es/crypto/sm/sm4/index.mjs +0 -25
  118. package/dist/es/crypto/sm/sm4/sm4.mjs +0 -359
  119. package/dist/es/crypto/tea/index.mjs +0 -23
  120. package/dist/es/crypto/tea/tea.mjs +0 -211
  121. package/dist/es/date/index.mjs +0 -1262
  122. package/dist/es/desensitized/index.mjs +0 -69
  123. package/dist/es/device/index.mjs +0 -145
  124. package/dist/es/dom/index.mjs +0 -164
  125. package/dist/es/file/index.mjs +0 -323
  126. package/dist/es/function/index.mjs +0 -63
  127. package/dist/es/keycode/index.mjs +0 -139
  128. package/dist/es/math/index.mjs +0 -274
  129. package/dist/es/number/index.mjs +0 -12
  130. package/dist/es/object/index.mjs +0 -203
  131. package/dist/es/pagination/index.mjs +0 -134
  132. package/dist/es/random/index.mjs +0 -22
  133. package/dist/es/regexp/index.mjs +0 -98
  134. package/dist/es/storage/index.mjs +0 -9
  135. package/dist/es/storage/localStorage.mjs +0 -35
  136. package/dist/es/storage/sessionStorage.mjs +0 -35
  137. package/dist/es/string/index.mjs +0 -321
  138. package/dist/es/url/index.mjs +0 -261
  139. package/dist/es/validate/index.mjs +0 -451
  140. package/dist/es/weapp/index.mjs +0 -140
@@ -1,1050 +0,0 @@
1
- import * as index from '../base64/index.mjs';
2
-
3
- const { encode, decode } = index;
4
- /**
5
- * 使用方法
6
- * 实例化对象 new Des()
7
- * 加密方法 encrypt(key,plaintext)
8
- * 解密方法 decrypt(key,ciphertext)
9
- * 示例---------------------------------------------------
10
- * var Des = new Des();
11
- * var key = 'custom key';
12
- * var value = '需要加密的内容'
13
- * var ciphertext = encrypt(key,value);//加密
14
- * var plaintext = encrypt(key,ciphertext);//解密
15
- */
16
- function Des(key, value) {
17
- this.key = key;
18
- this.value = value;
19
- }
20
-
21
- /**
22
- * @param {String} key 密钥
23
- * @param {String} value 内容
24
- * @param {String} type 类型 ->encrypt加密|decrypt解密
25
- */
26
- Des.prototype._DesCreate = function (key, value, type) {
27
- var message = value;
28
- if (type === "decrypt") {
29
- var requestValue = "";
30
- for (var i = value.substr(0, 2) == "0x" ? 2 : 0; i < value.length; i += 2) {
31
- requestValue += String.fromCharCode(parseInt(value.substr(i, 2), 16));
32
- }
33
- message = requestValue;
34
- }
35
- var spfunction1 = new Array(
36
- 0x1010400,
37
- 0,
38
- 0x10000,
39
- 0x1010404,
40
- 0x1010004,
41
- 0x10404,
42
- 0x4,
43
- 0x10000,
44
- 0x400,
45
- 0x1010400,
46
- 0x1010404,
47
- 0x400,
48
- 0x1000404,
49
- 0x1010004,
50
- 0x1000000,
51
- 0x4,
52
- 0x404,
53
- 0x1000400,
54
- 0x1000400,
55
- 0x10400,
56
- 0x10400,
57
- 0x1010000,
58
- 0x1010000,
59
- 0x1000404,
60
- 0x10004,
61
- 0x1000004,
62
- 0x1000004,
63
- 0x10004,
64
- 0,
65
- 0x404,
66
- 0x10404,
67
- 0x1000000,
68
- 0x10000,
69
- 0x1010404,
70
- 0x4,
71
- 0x1010000,
72
- 0x1010400,
73
- 0x1000000,
74
- 0x1000000,
75
- 0x400,
76
- 0x1010004,
77
- 0x10000,
78
- 0x10400,
79
- 0x1000004,
80
- 0x400,
81
- 0x4,
82
- 0x1000404,
83
- 0x10404,
84
- 0x1010404,
85
- 0x10004,
86
- 0x1010000,
87
- 0x1000404,
88
- 0x1000004,
89
- 0x404,
90
- 0x10404,
91
- 0x1010400,
92
- 0x404,
93
- 0x1000400,
94
- 0x1000400,
95
- 0,
96
- 0x10004,
97
- 0x10400,
98
- 0,
99
- 0x1010004,
100
- );
101
- var spfunction2 = new Array(
102
- -0x7fef7fe0,
103
- -0x7fff8000,
104
- 0x8000,
105
- 0x108020,
106
- 0x100000,
107
- 0x20,
108
- -0x7fefffe0,
109
- -0x7fff7fe0,
110
- -0x7fffffe0,
111
- -0x7fef7fe0,
112
- -0x7fef8000,
113
- -0x80000000,
114
- -0x7fff8000,
115
- 0x100000,
116
- 0x20,
117
- -0x7fefffe0,
118
- 0x108000,
119
- 0x100020,
120
- -0x7fff7fe0,
121
- 0,
122
- -0x80000000,
123
- 0x8000,
124
- 0x108020,
125
- -0x7ff00000,
126
- 0x100020,
127
- -0x7fffffe0,
128
- 0,
129
- 0x108000,
130
- 0x8020,
131
- -0x7fef8000,
132
- -0x7ff00000,
133
- 0x8020,
134
- 0,
135
- 0x108020,
136
- -0x7fefffe0,
137
- 0x100000,
138
- -0x7fff7fe0,
139
- -0x7ff00000,
140
- -0x7fef8000,
141
- 0x8000,
142
- -0x7ff00000,
143
- -0x7fff8000,
144
- 0x20,
145
- -0x7fef7fe0,
146
- 0x108020,
147
- 0x20,
148
- 0x8000,
149
- -0x80000000,
150
- 0x8020,
151
- -0x7fef8000,
152
- 0x100000,
153
- -0x7fffffe0,
154
- 0x100020,
155
- -0x7fff7fe0,
156
- -0x7fffffe0,
157
- 0x100020,
158
- 0x108000,
159
- 0,
160
- -0x7fff8000,
161
- 0x8020,
162
- -0x80000000,
163
- -0x7fefffe0,
164
- -0x7fef7fe0,
165
- 0x108000,
166
- );
167
- var spfunction3 = new Array(
168
- 0x208,
169
- 0x8020200,
170
- 0,
171
- 0x8020008,
172
- 0x8000200,
173
- 0,
174
- 0x20208,
175
- 0x8000200,
176
- 0x20008,
177
- 0x8000008,
178
- 0x8000008,
179
- 0x20000,
180
- 0x8020208,
181
- 0x20008,
182
- 0x8020000,
183
- 0x208,
184
- 0x8000000,
185
- 0x8,
186
- 0x8020200,
187
- 0x200,
188
- 0x20200,
189
- 0x8020000,
190
- 0x8020008,
191
- 0x20208,
192
- 0x8000208,
193
- 0x20200,
194
- 0x20000,
195
- 0x8000208,
196
- 0x8,
197
- 0x8020208,
198
- 0x200,
199
- 0x8000000,
200
- 0x8020200,
201
- 0x8000000,
202
- 0x20008,
203
- 0x208,
204
- 0x20000,
205
- 0x8020200,
206
- 0x8000200,
207
- 0,
208
- 0x200,
209
- 0x20008,
210
- 0x8020208,
211
- 0x8000200,
212
- 0x8000008,
213
- 0x200,
214
- 0,
215
- 0x8020008,
216
- 0x8000208,
217
- 0x20000,
218
- 0x8000000,
219
- 0x8020208,
220
- 0x8,
221
- 0x20208,
222
- 0x20200,
223
- 0x8000008,
224
- 0x8020000,
225
- 0x8000208,
226
- 0x208,
227
- 0x8020000,
228
- 0x20208,
229
- 0x8,
230
- 0x8020008,
231
- 0x20200,
232
- );
233
- var spfunction4 = new Array(
234
- 0x802001,
235
- 0x2081,
236
- 0x2081,
237
- 0x80,
238
- 0x802080,
239
- 0x800081,
240
- 0x800001,
241
- 0x2001,
242
- 0,
243
- 0x802000,
244
- 0x802000,
245
- 0x802081,
246
- 0x81,
247
- 0,
248
- 0x800080,
249
- 0x800001,
250
- 0x1,
251
- 0x2000,
252
- 0x800000,
253
- 0x802001,
254
- 0x80,
255
- 0x800000,
256
- 0x2001,
257
- 0x2080,
258
- 0x800081,
259
- 0x1,
260
- 0x2080,
261
- 0x800080,
262
- 0x2000,
263
- 0x802080,
264
- 0x802081,
265
- 0x81,
266
- 0x800080,
267
- 0x800001,
268
- 0x802000,
269
- 0x802081,
270
- 0x81,
271
- 0,
272
- 0,
273
- 0x802000,
274
- 0x2080,
275
- 0x800080,
276
- 0x800081,
277
- 0x1,
278
- 0x802001,
279
- 0x2081,
280
- 0x2081,
281
- 0x80,
282
- 0x802081,
283
- 0x81,
284
- 0x1,
285
- 0x2000,
286
- 0x800001,
287
- 0x2001,
288
- 0x802080,
289
- 0x800081,
290
- 0x2001,
291
- 0x2080,
292
- 0x800000,
293
- 0x802001,
294
- 0x80,
295
- 0x800000,
296
- 0x2000,
297
- 0x802080,
298
- );
299
- var spfunction5 = new Array(
300
- 0x100,
301
- 0x2080100,
302
- 0x2080000,
303
- 0x42000100,
304
- 0x80000,
305
- 0x100,
306
- 0x40000000,
307
- 0x2080000,
308
- 0x40080100,
309
- 0x80000,
310
- 0x2000100,
311
- 0x40080100,
312
- 0x42000100,
313
- 0x42080000,
314
- 0x80100,
315
- 0x40000000,
316
- 0x2000000,
317
- 0x40080000,
318
- 0x40080000,
319
- 0,
320
- 0x40000100,
321
- 0x42080100,
322
- 0x42080100,
323
- 0x2000100,
324
- 0x42080000,
325
- 0x40000100,
326
- 0,
327
- 0x42000000,
328
- 0x2080100,
329
- 0x2000000,
330
- 0x42000000,
331
- 0x80100,
332
- 0x80000,
333
- 0x42000100,
334
- 0x100,
335
- 0x2000000,
336
- 0x40000000,
337
- 0x2080000,
338
- 0x42000100,
339
- 0x40080100,
340
- 0x2000100,
341
- 0x40000000,
342
- 0x42080000,
343
- 0x2080100,
344
- 0x40080100,
345
- 0x100,
346
- 0x2000000,
347
- 0x42080000,
348
- 0x42080100,
349
- 0x80100,
350
- 0x42000000,
351
- 0x42080100,
352
- 0x2080000,
353
- 0,
354
- 0x40080000,
355
- 0x42000000,
356
- 0x80100,
357
- 0x2000100,
358
- 0x40000100,
359
- 0x80000,
360
- 0,
361
- 0x40080000,
362
- 0x2080100,
363
- 0x40000100,
364
- );
365
- var spfunction6 = new Array(
366
- 0x20000010,
367
- 0x20400000,
368
- 0x4000,
369
- 0x20404010,
370
- 0x20400000,
371
- 0x10,
372
- 0x20404010,
373
- 0x400000,
374
- 0x20004000,
375
- 0x404010,
376
- 0x400000,
377
- 0x20000010,
378
- 0x400010,
379
- 0x20004000,
380
- 0x20000000,
381
- 0x4010,
382
- 0,
383
- 0x400010,
384
- 0x20004010,
385
- 0x4000,
386
- 0x404000,
387
- 0x20004010,
388
- 0x10,
389
- 0x20400010,
390
- 0x20400010,
391
- 0,
392
- 0x404010,
393
- 0x20404000,
394
- 0x4010,
395
- 0x404000,
396
- 0x20404000,
397
- 0x20000000,
398
- 0x20004000,
399
- 0x10,
400
- 0x20400010,
401
- 0x404000,
402
- 0x20404010,
403
- 0x400000,
404
- 0x4010,
405
- 0x20000010,
406
- 0x400000,
407
- 0x20004000,
408
- 0x20000000,
409
- 0x4010,
410
- 0x20000010,
411
- 0x20404010,
412
- 0x404000,
413
- 0x20400000,
414
- 0x404010,
415
- 0x20404000,
416
- 0,
417
- 0x20400010,
418
- 0x10,
419
- 0x4000,
420
- 0x20400000,
421
- 0x404010,
422
- 0x4000,
423
- 0x400010,
424
- 0x20004010,
425
- 0,
426
- 0x20404000,
427
- 0x20000000,
428
- 0x400010,
429
- 0x20004010,
430
- );
431
- var spfunction7 = new Array(
432
- 0x200000,
433
- 0x4200002,
434
- 0x4000802,
435
- 0,
436
- 0x800,
437
- 0x4000802,
438
- 0x200802,
439
- 0x4200800,
440
- 0x4200802,
441
- 0x200000,
442
- 0,
443
- 0x4000002,
444
- 0x2,
445
- 0x4000000,
446
- 0x4200002,
447
- 0x802,
448
- 0x4000800,
449
- 0x200802,
450
- 0x200002,
451
- 0x4000800,
452
- 0x4000002,
453
- 0x4200000,
454
- 0x4200800,
455
- 0x200002,
456
- 0x4200000,
457
- 0x800,
458
- 0x802,
459
- 0x4200802,
460
- 0x200800,
461
- 0x2,
462
- 0x4000000,
463
- 0x200800,
464
- 0x4000000,
465
- 0x200800,
466
- 0x200000,
467
- 0x4000802,
468
- 0x4000802,
469
- 0x4200002,
470
- 0x4200002,
471
- 0x2,
472
- 0x200002,
473
- 0x4000000,
474
- 0x4000800,
475
- 0x200000,
476
- 0x4200800,
477
- 0x802,
478
- 0x200802,
479
- 0x4200800,
480
- 0x802,
481
- 0x4000002,
482
- 0x4200802,
483
- 0x4200000,
484
- 0x200800,
485
- 0,
486
- 0x2,
487
- 0x4200802,
488
- 0,
489
- 0x200802,
490
- 0x4200000,
491
- 0x800,
492
- 0x4000002,
493
- 0x4000800,
494
- 0x800,
495
- 0x200002,
496
- );
497
- var spfunction8 = new Array(
498
- 0x10001040,
499
- 0x1000,
500
- 0x40000,
501
- 0x10041040,
502
- 0x10000000,
503
- 0x10001040,
504
- 0x40,
505
- 0x10000000,
506
- 0x40040,
507
- 0x10040000,
508
- 0x10041040,
509
- 0x41000,
510
- 0x10041000,
511
- 0x41040,
512
- 0x1000,
513
- 0x40,
514
- 0x10040000,
515
- 0x10000040,
516
- 0x10001000,
517
- 0x1040,
518
- 0x41000,
519
- 0x40040,
520
- 0x10040040,
521
- 0x10041000,
522
- 0x1040,
523
- 0,
524
- 0,
525
- 0x10040040,
526
- 0x10000040,
527
- 0x10001000,
528
- 0x41040,
529
- 0x40000,
530
- 0x41040,
531
- 0x40000,
532
- 0x10041000,
533
- 0x1000,
534
- 0x40,
535
- 0x10040040,
536
- 0x1000,
537
- 0x41040,
538
- 0x10001000,
539
- 0x40,
540
- 0x10000040,
541
- 0x10040000,
542
- 0x10040040,
543
- 0x10000000,
544
- 0x40000,
545
- 0x10001040,
546
- 0,
547
- 0x10041040,
548
- 0x40040,
549
- 0x10000040,
550
- 0x10040000,
551
- 0x10001000,
552
- 0x10001040,
553
- 0,
554
- 0x10041040,
555
- 0x41000,
556
- 0x41000,
557
- 0x1040,
558
- 0x1040,
559
- 0x40040,
560
- 0x10000000,
561
- 0x10041000,
562
- );
563
-
564
- var keys = this._DesCreateKeys(key);
565
- var m = 0,
566
- i,
567
- j,
568
- temp,
569
- right1,
570
- right2,
571
- left,
572
- right,
573
- looping;
574
- var endloop, loopinc;
575
- var len = message.length;
576
- var chunk = 0;
577
-
578
- var iterations = keys.length == 32 ? 3 : 9;
579
- if (iterations == 3) {
580
- looping = type === "encrypt" ? new Array(0, 32, 2) : new Array(30, -2, -2);
581
- } else {
582
- looping =
583
- type === "encrypt" ? new Array(0, 32, 2, 62, 30, -2, 64, 96, 2) : new Array(94, 62, -2, 32, 64, 2, 30, -2, -2);
584
- }
585
- var result = "";
586
- var tempresult = "";
587
- while (m < len) {
588
- left =
589
- (message.charCodeAt(m++) << 24) |
590
- (message.charCodeAt(m++) << 16) |
591
- (message.charCodeAt(m++) << 8) |
592
- message.charCodeAt(m++);
593
- right =
594
- (message.charCodeAt(m++) << 24) |
595
- (message.charCodeAt(m++) << 16) |
596
- (message.charCodeAt(m++) << 8) |
597
- message.charCodeAt(m++);
598
-
599
- temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
600
- right ^= temp;
601
- left ^= temp << 4;
602
- temp = ((left >>> 16) ^ right) & 0x0000ffff;
603
- right ^= temp;
604
- left ^= temp << 16;
605
- temp = ((right >>> 2) ^ left) & 0x33333333;
606
- left ^= temp;
607
- right ^= temp << 2;
608
- temp = ((right >>> 8) ^ left) & 0x00ff00ff;
609
- left ^= temp;
610
- right ^= temp << 8;
611
- temp = ((left >>> 1) ^ right) & 0x55555555;
612
- right ^= temp;
613
- left ^= temp << 1;
614
-
615
- left = (left << 1) | (left >>> 31);
616
- right = (right << 1) | (right >>> 31);
617
-
618
- for (j = 0; j < iterations; j += 3) {
619
- endloop = looping[j + 1];
620
- loopinc = looping[j + 2];
621
- for (i = looping[j]; i != endloop; i += loopinc) {
622
- right1 = right ^ keys[i];
623
- right2 = ((right >>> 4) | (right << 28)) ^ keys[i + 1];
624
- temp = left;
625
- left = right;
626
- right =
627
- temp ^
628
- (spfunction2[(right1 >>> 24) & 0x3f] |
629
- spfunction4[(right1 >>> 16) & 0x3f] |
630
- spfunction6[(right1 >>> 8) & 0x3f] |
631
- spfunction8[right1 & 0x3f] |
632
- spfunction1[(right2 >>> 24) & 0x3f] |
633
- spfunction3[(right2 >>> 16) & 0x3f] |
634
- spfunction5[(right2 >>> 8) & 0x3f] |
635
- spfunction7[right2 & 0x3f]);
636
- }
637
- temp = left;
638
- left = right;
639
- right = temp;
640
- }
641
-
642
- left = (left >>> 1) | (left << 31);
643
- right = (right >>> 1) | (right << 31);
644
-
645
- temp = ((left >>> 1) ^ right) & 0x55555555;
646
- right ^= temp;
647
- left ^= temp << 1;
648
- temp = ((right >>> 8) ^ left) & 0x00ff00ff;
649
- left ^= temp;
650
- right ^= temp << 8;
651
- temp = ((right >>> 2) ^ left) & 0x33333333;
652
- left ^= temp;
653
- right ^= temp << 2;
654
- temp = ((left >>> 16) ^ right) & 0x0000ffff;
655
- right ^= temp;
656
- left ^= temp << 16;
657
- temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
658
- right ^= temp;
659
- left ^= temp << 4;
660
-
661
- tempresult += String.fromCharCode(
662
- left >>> 24,
663
- (left >>> 16) & 0xff,
664
- (left >>> 8) & 0xff,
665
- left & 0xff,
666
- right >>> 24,
667
- (right >>> 16) & 0xff,
668
- (right >>> 8) & 0xff,
669
- right & 0xff,
670
- );
671
-
672
- chunk += 8;
673
- if (chunk == 512) {
674
- result += tempresult;
675
- tempresult = "";
676
- chunk = 0;
677
- }
678
- }
679
- var resultTempresult = result + tempresult;
680
- if (type === "encrypt") {
681
- var resultCiphertext = "";
682
- var hexes = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
683
- for (var i = 0; i < resultTempresult.length; i++) {
684
- resultCiphertext += hexes[resultTempresult.charCodeAt(i) >> 4] + hexes[resultTempresult.charCodeAt(i) & 0xf];
685
- }
686
- return resultCiphertext;
687
- }
688
- return result + tempresult;
689
- };
690
- Des.prototype._DesCreateKeys = function (key) {
691
- var pc2bytes0 = new Array(
692
- 0,
693
- 0x4,
694
- 0x20000000,
695
- 0x20000004,
696
- 0x10000,
697
- 0x10004,
698
- 0x20010000,
699
- 0x20010004,
700
- 0x200,
701
- 0x204,
702
- 0x20000200,
703
- 0x20000204,
704
- 0x10200,
705
- 0x10204,
706
- 0x20010200,
707
- 0x20010204,
708
- );
709
- var pc2bytes1 = new Array(
710
- 0,
711
- 0x1,
712
- 0x100000,
713
- 0x100001,
714
- 0x4000000,
715
- 0x4000001,
716
- 0x4100000,
717
- 0x4100001,
718
- 0x100,
719
- 0x101,
720
- 0x100100,
721
- 0x100101,
722
- 0x4000100,
723
- 0x4000101,
724
- 0x4100100,
725
- 0x4100101,
726
- );
727
- var pc2bytes2 = new Array(
728
- 0,
729
- 0x8,
730
- 0x800,
731
- 0x808,
732
- 0x1000000,
733
- 0x1000008,
734
- 0x1000800,
735
- 0x1000808,
736
- 0,
737
- 0x8,
738
- 0x800,
739
- 0x808,
740
- 0x1000000,
741
- 0x1000008,
742
- 0x1000800,
743
- 0x1000808,
744
- );
745
- var pc2bytes3 = new Array(
746
- 0,
747
- 0x200000,
748
- 0x8000000,
749
- 0x8200000,
750
- 0x2000,
751
- 0x202000,
752
- 0x8002000,
753
- 0x8202000,
754
- 0x20000,
755
- 0x220000,
756
- 0x8020000,
757
- 0x8220000,
758
- 0x22000,
759
- 0x222000,
760
- 0x8022000,
761
- 0x8222000,
762
- );
763
- var pc2bytes4 = new Array(
764
- 0,
765
- 0x40000,
766
- 0x10,
767
- 0x40010,
768
- 0,
769
- 0x40000,
770
- 0x10,
771
- 0x40010,
772
- 0x1000,
773
- 0x41000,
774
- 0x1010,
775
- 0x41010,
776
- 0x1000,
777
- 0x41000,
778
- 0x1010,
779
- 0x41010,
780
- );
781
- var pc2bytes5 = new Array(
782
- 0,
783
- 0x400,
784
- 0x20,
785
- 0x420,
786
- 0,
787
- 0x400,
788
- 0x20,
789
- 0x420,
790
- 0x2000000,
791
- 0x2000400,
792
- 0x2000020,
793
- 0x2000420,
794
- 0x2000000,
795
- 0x2000400,
796
- 0x2000020,
797
- 0x2000420,
798
- );
799
- var pc2bytes6 = new Array(
800
- 0,
801
- 0x10000000,
802
- 0x80000,
803
- 0x10080000,
804
- 0x2,
805
- 0x10000002,
806
- 0x80002,
807
- 0x10080002,
808
- 0,
809
- 0x10000000,
810
- 0x80000,
811
- 0x10080000,
812
- 0x2,
813
- 0x10000002,
814
- 0x80002,
815
- 0x10080002,
816
- );
817
- var pc2bytes7 = new Array(
818
- 0,
819
- 0x10000,
820
- 0x800,
821
- 0x10800,
822
- 0x20000000,
823
- 0x20010000,
824
- 0x20000800,
825
- 0x20010800,
826
- 0x20000,
827
- 0x30000,
828
- 0x20800,
829
- 0x30800,
830
- 0x20020000,
831
- 0x20030000,
832
- 0x20020800,
833
- 0x20030800,
834
- );
835
- var pc2bytes8 = new Array(
836
- 0,
837
- 0x40000,
838
- 0,
839
- 0x40000,
840
- 0x2,
841
- 0x40002,
842
- 0x2,
843
- 0x40002,
844
- 0x2000000,
845
- 0x2040000,
846
- 0x2000000,
847
- 0x2040000,
848
- 0x2000002,
849
- 0x2040002,
850
- 0x2000002,
851
- 0x2040002,
852
- );
853
- var pc2bytes9 = new Array(
854
- 0,
855
- 0x10000000,
856
- 0x8,
857
- 0x10000008,
858
- 0,
859
- 0x10000000,
860
- 0x8,
861
- 0x10000008,
862
- 0x400,
863
- 0x10000400,
864
- 0x408,
865
- 0x10000408,
866
- 0x400,
867
- 0x10000400,
868
- 0x408,
869
- 0x10000408,
870
- );
871
- var pc2bytes10 = new Array(
872
- 0,
873
- 0x20,
874
- 0,
875
- 0x20,
876
- 0x100000,
877
- 0x100020,
878
- 0x100000,
879
- 0x100020,
880
- 0x2000,
881
- 0x2020,
882
- 0x2000,
883
- 0x2020,
884
- 0x102000,
885
- 0x102020,
886
- 0x102000,
887
- 0x102020,
888
- );
889
- var pc2bytes11 = new Array(
890
- 0,
891
- 0x1000000,
892
- 0x200,
893
- 0x1000200,
894
- 0x200000,
895
- 0x1200000,
896
- 0x200200,
897
- 0x1200200,
898
- 0x4000000,
899
- 0x5000000,
900
- 0x4000200,
901
- 0x5000200,
902
- 0x4200000,
903
- 0x5200000,
904
- 0x4200200,
905
- 0x5200200,
906
- );
907
- var pc2bytes12 = new Array(
908
- 0,
909
- 0x1000,
910
- 0x8000000,
911
- 0x8001000,
912
- 0x80000,
913
- 0x81000,
914
- 0x8080000,
915
- 0x8081000,
916
- 0x10,
917
- 0x1010,
918
- 0x8000010,
919
- 0x8001010,
920
- 0x80010,
921
- 0x81010,
922
- 0x8080010,
923
- 0x8081010,
924
- );
925
- var pc2bytes13 = new Array(
926
- 0,
927
- 0x4,
928
- 0x100,
929
- 0x104,
930
- 0,
931
- 0x4,
932
- 0x100,
933
- 0x104,
934
- 0x1,
935
- 0x5,
936
- 0x101,
937
- 0x105,
938
- 0x1,
939
- 0x5,
940
- 0x101,
941
- 0x105,
942
- );
943
-
944
- var iterations = key.length > 8 ? 3 : 1;
945
- var keys = new Array(32 * iterations);
946
- var shifts = new Array(0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0);
947
- var lefttemp,
948
- righttemp,
949
- m = 0,
950
- n = 0,
951
- temp;
952
-
953
- for (var j = 0; j < iterations; j++) {
954
- var left =
955
- (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++);
956
- var right =
957
- (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++);
958
-
959
- temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
960
- right ^= temp;
961
- left ^= temp << 4;
962
- temp = ((right >>> -16) ^ left) & 0x0000ffff;
963
- left ^= temp;
964
- right ^= temp << -16;
965
- temp = ((left >>> 2) ^ right) & 0x33333333;
966
- right ^= temp;
967
- left ^= temp << 2;
968
- temp = ((right >>> -16) ^ left) & 0x0000ffff;
969
- left ^= temp;
970
- right ^= temp << -16;
971
- temp = ((left >>> 1) ^ right) & 0x55555555;
972
- right ^= temp;
973
- left ^= temp << 1;
974
- temp = ((right >>> 8) ^ left) & 0x00ff00ff;
975
- left ^= temp;
976
- right ^= temp << 8;
977
- temp = ((left >>> 1) ^ right) & 0x55555555;
978
- right ^= temp;
979
- left ^= temp << 1;
980
-
981
- temp = (left << 8) | ((right >>> 20) & 0x000000f0);
982
- left = (right << 24) | ((right << 8) & 0xff0000) | ((right >>> 8) & 0xff00) | ((right >>> 24) & 0xf0);
983
- right = temp;
984
-
985
- for (var i = 0; i < shifts.length; i++) {
986
- if (shifts[i]) {
987
- left = (left << 2) | (left >>> 26);
988
- right = (right << 2) | (right >>> 26);
989
- } else {
990
- left = (left << 1) | (left >>> 27);
991
- right = (right << 1) | (right >>> 27);
992
- }
993
- left &= -0xf;
994
- right &= -0xf;
995
-
996
- lefttemp =
997
- pc2bytes0[left >>> 28] |
998
- pc2bytes1[(left >>> 24) & 0xf] |
999
- pc2bytes2[(left >>> 20) & 0xf] |
1000
- pc2bytes3[(left >>> 16) & 0xf] |
1001
- pc2bytes4[(left >>> 12) & 0xf] |
1002
- pc2bytes5[(left >>> 8) & 0xf] |
1003
- pc2bytes6[(left >>> 4) & 0xf];
1004
- righttemp =
1005
- pc2bytes7[right >>> 28] |
1006
- pc2bytes8[(right >>> 24) & 0xf] |
1007
- pc2bytes9[(right >>> 20) & 0xf] |
1008
- pc2bytes10[(right >>> 16) & 0xf] |
1009
- pc2bytes11[(right >>> 12) & 0xf] |
1010
- pc2bytes12[(right >>> 8) & 0xf] |
1011
- pc2bytes13[(right >>> 4) & 0xf];
1012
- temp = ((righttemp >>> 16) ^ lefttemp) & 0x0000ffff;
1013
- keys[n++] = lefttemp ^ temp;
1014
- keys[n++] = righttemp ^ (temp << 16);
1015
- }
1016
- }
1017
- return keys;
1018
- };
1019
- /*
1020
- ------------------------------------------------------------------------------------
1021
- 以上方法对象的私有方法
1022
- 为了解决中文乱码
1023
- 使用base64先加密,再用des加密
1024
- 同理,解密时先用deds解密,再使用base64解密
1025
- ------------------------------------------------------------------------------------
1026
- */
1027
- /**
1028
- * 加密
1029
- * @param {String} key 密钥
1030
- * @param {String} plaintext 明文
1031
- * @return {String} ciphertext 密文
1032
- */
1033
- Des.prototype.encrypt = function (key, plaintext) {
1034
- var encodedString = encode(plaintext);
1035
- var ciphertext = this._DesCreate(key, encodedString, "encrypt");
1036
- return ciphertext;
1037
- };
1038
- /**
1039
- * 解密
1040
- * @param {String} key 密钥
1041
- * @param {String} ciphertext 密文
1042
- * @return {String} plaintext 明文
1043
- */
1044
- Des.prototype.decrypt = function (key, ciphertext) {
1045
- var decryptText = this._DesCreate(key, ciphertext, "decrypt"); // Des解密
1046
- var plaintext = decode(decryptText); // base64解密
1047
- return plaintext;
1048
- };
1049
-
1050
- export { Des as default };