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