@ivujs/i-utils 2.0.0 → 2.1.1

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 (228) hide show
  1. package/README.md +40 -42
  2. package/dist/cjs/ID-card/index.cjs +21 -13
  3. package/dist/cjs/array/index.cjs +40 -34
  4. package/dist/cjs/clipboard/index.cjs +14 -10
  5. package/dist/cjs/color/index.cjs +73 -59
  6. package/dist/cjs/constants/date.cjs +55 -1
  7. package/dist/cjs/constants/id-card.cjs +42 -1
  8. package/dist/cjs/constants/keycode.cjs +117 -2
  9. package/dist/cjs/constants/lang.cjs +7 -1
  10. package/dist/cjs/constants/math.cjs +9 -1
  11. package/dist/cjs/constants/regexp.cjs +33 -10
  12. package/dist/cjs/constants/sort.cjs +10 -1
  13. package/dist/cjs/cookie/index.cjs +16 -13
  14. package/dist/cjs/crypto/base64/base64.cjs +398 -206
  15. package/dist/cjs/crypto/base64/index.cjs +58 -35
  16. package/dist/cjs/crypto/md5/index.cjs +33 -8
  17. package/dist/cjs/crypto/md5/md5.cjs +298 -844
  18. package/dist/cjs/crypto/sha256/index.cjs +95 -0
  19. package/dist/cjs/crypto/sha256/sha256.cjs +557 -0
  20. package/dist/cjs/crypto/sm3/index.cjs +27 -0
  21. package/dist/cjs/crypto/sm3/sm3.cjs +200 -0
  22. package/dist/cjs/crypto/sm4/index.cjs +101 -0
  23. package/dist/cjs/crypto/sm4/sm4.cjs +498 -0
  24. package/dist/cjs/date/index.cjs +420 -340
  25. package/dist/cjs/desensitized/index.cjs +21 -18
  26. package/dist/cjs/device/index.cjs +33 -30
  27. package/dist/cjs/dom/index.cjs +26 -23
  28. package/dist/cjs/file/index.cjs +51 -41
  29. package/dist/cjs/function/index.cjs +22 -19
  30. package/dist/cjs/id/index.cjs +6 -2
  31. package/dist/cjs/index.cjs +110 -127
  32. package/dist/cjs/keycode/index.cjs +9 -12
  33. package/dist/cjs/math/index.cjs +113 -81
  34. package/dist/cjs/number/index.cjs +10 -7
  35. package/dist/cjs/object/index.cjs +77 -30
  36. package/dist/cjs/pagination/index.cjs +25 -10
  37. package/dist/cjs/random/index.cjs +8 -5
  38. package/dist/cjs/regexp/index.cjs +23 -20
  39. package/dist/cjs/storage/index.cjs +4 -1
  40. package/dist/cjs/storage/localStorage.cjs +5 -5
  41. package/dist/cjs/storage/sessionStorage.cjs +6 -6
  42. package/dist/cjs/string/index.cjs +66 -63
  43. package/dist/cjs/url/index.cjs +83 -80
  44. package/dist/cjs/validate/index.cjs +122 -106
  45. package/dist/es/ID-card/index.d.ts +19 -14
  46. package/dist/es/ID-card/index.mjs +22 -14
  47. package/dist/es/array/index.d.ts +56 -50
  48. package/dist/es/array/index.mjs +40 -34
  49. package/dist/es/clipboard/index.d.ts +10 -7
  50. package/dist/es/clipboard/index.mjs +14 -10
  51. package/dist/es/color/index.d.ts +28 -25
  52. package/dist/es/color/index.mjs +73 -59
  53. package/dist/es/constants/date.d.ts +58 -174
  54. package/dist/es/constants/date.mjs +55 -1
  55. package/dist/es/constants/id-card.d.ts +45 -43
  56. package/dist/es/constants/id-card.mjs +42 -1
  57. package/dist/es/constants/index.d.ts +11 -7
  58. package/dist/es/constants/keycode.d.ts +119 -103
  59. package/dist/es/constants/keycode.mjs +117 -2
  60. package/dist/es/constants/lang.d.ts +10 -4
  61. package/dist/es/constants/lang.mjs +7 -1
  62. package/dist/es/constants/math.d.ts +12 -4
  63. package/dist/es/constants/math.mjs +9 -1
  64. package/dist/es/constants/regexp.d.ts +27 -24
  65. package/dist/es/constants/regexp.mjs +33 -10
  66. package/dist/es/constants/sort.d.ts +13 -5
  67. package/dist/es/constants/sort.mjs +10 -1
  68. package/dist/es/cookie/index.d.ts +13 -13
  69. package/dist/es/cookie/index.mjs +16 -13
  70. package/dist/es/crypto/base64/base64.d.ts +8 -5
  71. package/dist/es/crypto/base64/base64.mjs +393 -204
  72. package/dist/es/crypto/base64/index.d.ts +41 -24
  73. package/dist/es/crypto/base64/index.mjs +53 -32
  74. package/dist/es/crypto/index.d.ts +8 -8
  75. package/dist/es/crypto/md5/index.d.ts +20 -7
  76. package/dist/es/crypto/md5/index.mjs +32 -9
  77. package/dist/es/crypto/md5/md5.d.ts +9 -142
  78. package/dist/es/crypto/md5/md5.mjs +299 -844
  79. package/dist/es/crypto/sha256/index.d.ts +52 -0
  80. package/dist/es/crypto/sha256/index.mjs +86 -0
  81. package/dist/es/crypto/sha256/sha256.d.ts +82 -0
  82. package/dist/es/crypto/sha256/sha256.mjs +548 -0
  83. package/dist/es/crypto/sm3/index.d.ts +13 -0
  84. package/dist/es/crypto/sm3/index.mjs +24 -0
  85. package/dist/es/crypto/sm3/sm3.d.ts +3 -0
  86. package/dist/es/crypto/sm3/sm3.mjs +197 -0
  87. package/dist/es/crypto/sm4/index.d.ts +56 -0
  88. package/dist/es/crypto/sm4/index.mjs +95 -0
  89. package/dist/es/crypto/sm4/sm4.d.ts +48 -0
  90. package/dist/es/crypto/sm4/sm4.mjs +490 -0
  91. package/dist/es/date/index.d.ts +269 -179
  92. package/dist/es/date/index.mjs +417 -340
  93. package/dist/es/desensitized/index.d.ts +26 -23
  94. package/dist/es/desensitized/index.mjs +21 -18
  95. package/dist/es/device/index.d.ts +31 -25
  96. package/dist/es/device/index.mjs +33 -30
  97. package/dist/es/dom/index.d.ts +32 -29
  98. package/dist/es/dom/index.mjs +26 -23
  99. package/dist/es/file/index.d.ts +30 -30
  100. package/dist/es/file/index.mjs +51 -41
  101. package/dist/es/function/index.d.ts +10 -7
  102. package/dist/es/function/index.mjs +22 -19
  103. package/dist/es/id/index.d.ts +3 -0
  104. package/dist/es/id/index.mjs +6 -2
  105. package/dist/es/index.d.ts +24 -25
  106. package/dist/es/index.mjs +6 -23
  107. package/dist/es/keycode/index.d.ts +6 -6
  108. package/dist/es/keycode/index.mjs +9 -12
  109. package/dist/es/math/index.d.ts +37 -37
  110. package/dist/es/math/index.mjs +113 -81
  111. package/dist/es/number/index.d.ts +7 -7
  112. package/dist/es/number/index.mjs +10 -7
  113. package/dist/es/object/index.d.ts +20 -19
  114. package/dist/es/object/index.mjs +77 -30
  115. package/dist/es/pagination/index.d.ts +39 -6
  116. package/dist/es/pagination/index.mjs +25 -10
  117. package/dist/es/random/index.d.ts +10 -7
  118. package/dist/es/random/index.mjs +8 -5
  119. package/dist/es/regexp/index.d.ts +30 -30
  120. package/dist/es/regexp/index.mjs +23 -20
  121. package/dist/es/storage/index.d.ts +10 -4
  122. package/dist/es/storage/index.mjs +4 -1
  123. package/dist/es/storage/localStorage.d.ts +9 -9
  124. package/dist/es/storage/localStorage.mjs +5 -5
  125. package/dist/es/storage/sessionStorage.d.ts +9 -9
  126. package/dist/es/storage/sessionStorage.mjs +6 -6
  127. package/dist/es/string/index.d.ts +62 -59
  128. package/dist/es/string/index.mjs +66 -63
  129. package/dist/es/url/index.d.ts +65 -65
  130. package/dist/es/url/index.mjs +83 -80
  131. package/dist/es/validate/index.d.ts +83 -80
  132. package/dist/es/validate/index.mjs +122 -106
  133. package/dist/index.d.ts +2643 -2803
  134. package/dist/lib/index.full.umd.js +3609 -9494
  135. package/dist/lib/index.full.umd.min.js +2 -64
  136. package/dist/lib/index.full.umd.min.js.map +1 -1
  137. package/dist/resolver/auto-imports.cjs +40 -31
  138. package/dist/resolver/auto-imports.mjs +40 -31
  139. package/dist/resolver/index.cjs +1 -2
  140. package/dist/resolver/index.d.ts +1 -1
  141. package/dist/resolver/index.mjs +1 -2
  142. package/package.json +96 -90
  143. package/dist/cjs/crypto/aes/aes.cjs +0 -480
  144. package/dist/cjs/crypto/aes/index.cjs +0 -27
  145. package/dist/cjs/crypto/base32/base32.cjs +0 -357
  146. package/dist/cjs/crypto/base32/index.cjs +0 -41
  147. package/dist/cjs/crypto/des/des.cjs +0 -257
  148. package/dist/cjs/crypto/des/index.cjs +0 -28
  149. package/dist/cjs/crypto/sha/sha1/index.cjs +0 -24
  150. package/dist/cjs/crypto/sha/sha1/sha1.cjs +0 -529
  151. package/dist/cjs/crypto/sha/sha256/index.cjs +0 -43
  152. package/dist/cjs/crypto/sha/sha256/sha256.cjs +0 -595
  153. package/dist/cjs/crypto/sha/sha3/index.cjs +0 -41
  154. package/dist/cjs/crypto/sha/sha3/sha3.cjs +0 -624
  155. package/dist/cjs/crypto/sha/sha512/index.cjs +0 -81
  156. package/dist/cjs/crypto/sha/sha512/sha512.cjs +0 -950
  157. package/dist/cjs/crypto/sm/lib/asn1.cjs +0 -149
  158. package/dist/cjs/crypto/sm/lib/ec.cjs +0 -315
  159. package/dist/cjs/crypto/sm/lib/jsbn.cjs +0 -1608
  160. package/dist/cjs/crypto/sm/lib/sm3.cjs +0 -158
  161. package/dist/cjs/crypto/sm/lib/utils.cjs +0 -170
  162. package/dist/cjs/crypto/sm/sm2/index.cjs +0 -112
  163. package/dist/cjs/crypto/sm/sm2/sm2.cjs +0 -231
  164. package/dist/cjs/crypto/sm/sm3/index.cjs +0 -15
  165. package/dist/cjs/crypto/sm/sm3/sm3.cjs +0 -93
  166. package/dist/cjs/crypto/sm/sm4/index.cjs +0 -27
  167. package/dist/cjs/crypto/sm/sm4/sm4.cjs +0 -327
  168. package/dist/cjs/crypto/tea/index.cjs +0 -25
  169. package/dist/cjs/crypto/tea/tea.cjs +0 -187
  170. package/dist/cjs/weapp/index.cjs +0 -142
  171. package/dist/es/crypto/aes/aes.d.ts +0 -156
  172. package/dist/es/crypto/aes/aes.mjs +0 -478
  173. package/dist/es/crypto/aes/index.d.ts +0 -16
  174. package/dist/es/crypto/aes/index.mjs +0 -24
  175. package/dist/es/crypto/base32/base32.d.ts +0 -3
  176. package/dist/es/crypto/base32/base32.mjs +0 -353
  177. package/dist/es/crypto/base32/index.d.ts +0 -24
  178. package/dist/es/crypto/base32/index.mjs +0 -36
  179. package/dist/es/crypto/des/des.d.ts +0 -52
  180. package/dist/es/crypto/des/des.mjs +0 -255
  181. package/dist/es/crypto/des/index.d.ts +0 -14
  182. package/dist/es/crypto/des/index.mjs +0 -25
  183. package/dist/es/crypto/sha/index.d.ts +0 -4
  184. package/dist/es/crypto/sha/sha1/index.d.ts +0 -13
  185. package/dist/es/crypto/sha/sha1/index.mjs +0 -21
  186. package/dist/es/crypto/sha/sha1/sha1.d.ts +0 -2
  187. package/dist/es/crypto/sha/sha1/sha1.mjs +0 -526
  188. package/dist/es/crypto/sha/sha256/index.d.ts +0 -26
  189. package/dist/es/crypto/sha/sha256/index.mjs +0 -38
  190. package/dist/es/crypto/sha/sha256/sha256.d.ts +0 -4
  191. package/dist/es/crypto/sha/sha256/sha256.mjs +0 -590
  192. package/dist/es/crypto/sha/sha3/index.d.ts +0 -24
  193. package/dist/es/crypto/sha/sha3/index.mjs +0 -36
  194. package/dist/es/crypto/sha/sha3/sha3.d.ts +0 -4
  195. package/dist/es/crypto/sha/sha3/sha3.mjs +0 -619
  196. package/dist/es/crypto/sha/sha512/index.d.ts +0 -52
  197. package/dist/es/crypto/sha/sha512/index.mjs +0 -72
  198. package/dist/es/crypto/sha/sha512/sha512.d.ts +0 -8
  199. package/dist/es/crypto/sha/sha512/sha512.mjs +0 -941
  200. package/dist/es/crypto/sm/index.d.ts +0 -3
  201. package/dist/es/crypto/sm/lib/asn1.d.ts +0 -12
  202. package/dist/es/crypto/sm/lib/asn1.mjs +0 -146
  203. package/dist/es/crypto/sm/lib/ec.d.ts +0 -126
  204. package/dist/es/crypto/sm/lib/ec.mjs +0 -312
  205. package/dist/es/crypto/sm/lib/jsbn.d.ts +0 -198
  206. package/dist/es/crypto/sm/lib/jsbn.mjs +0 -1605
  207. package/dist/es/crypto/sm/lib/sm3.d.ts +0 -5
  208. package/dist/es/crypto/sm/lib/sm3.mjs +0 -155
  209. package/dist/es/crypto/sm/lib/utils.d.ts +0 -53
  210. package/dist/es/crypto/sm/lib/utils.mjs +0 -158
  211. package/dist/es/crypto/sm/sm2/index.d.ts +0 -71
  212. package/dist/es/crypto/sm/sm2/index.mjs +0 -101
  213. package/dist/es/crypto/sm/sm2/sm2.d.ts +0 -34
  214. package/dist/es/crypto/sm/sm2/sm2.mjs +0 -220
  215. package/dist/es/crypto/sm/sm3/index.d.ts +0 -7
  216. package/dist/es/crypto/sm/sm3/index.mjs +0 -13
  217. package/dist/es/crypto/sm/sm3/sm3.d.ts +0 -1
  218. package/dist/es/crypto/sm/sm3/sm3.mjs +0 -91
  219. package/dist/es/crypto/sm/sm4/index.d.ts +0 -16
  220. package/dist/es/crypto/sm/sm4/index.mjs +0 -24
  221. package/dist/es/crypto/sm/sm4/sm4.d.ts +0 -2
  222. package/dist/es/crypto/sm/sm4/sm4.mjs +0 -324
  223. package/dist/es/crypto/tea/index.d.ts +0 -14
  224. package/dist/es/crypto/tea/index.mjs +0 -22
  225. package/dist/es/crypto/tea/tea.d.ts +0 -69
  226. package/dist/es/crypto/tea/tea.mjs +0 -185
  227. package/dist/es/weapp/index.d.ts +0 -57
  228. package/dist/es/weapp/index.mjs +0 -131
@@ -1,357 +0,0 @@
1
- 'use strict';
2
-
3
- /*
4
- * [hi-base32]{@link https://github.com/emn178/hi-base32}
5
- *
6
- * @version 0.5.0
7
- * @author Chen, Yi-Cyuan [emn178@gmail.com]
8
- * @copyright Chen, Yi-Cyuan 2015-2018
9
- * @license MIT
10
- */
11
- /* jslint bitwise: true */
12
- var root = typeof window === "object" ? window : {};
13
- var NODE_JS = !root.HI_BASE32_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node;
14
- if (NODE_JS) {
15
- root = global;
16
- }
17
- var BASE32_ENCODE_CHAR = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567".split("");
18
- var BASE32_DECODE_CHAR = {
19
- A: 0,
20
- B: 1,
21
- C: 2,
22
- D: 3,
23
- E: 4,
24
- F: 5,
25
- G: 6,
26
- H: 7,
27
- I: 8,
28
- J: 9,
29
- K: 10,
30
- L: 11,
31
- M: 12,
32
- N: 13,
33
- O: 14,
34
- P: 15,
35
- Q: 16,
36
- R: 17,
37
- S: 18,
38
- T: 19,
39
- U: 20,
40
- V: 21,
41
- W: 22,
42
- X: 23,
43
- Y: 24,
44
- Z: 25,
45
- 2: 26,
46
- 3: 27,
47
- 4: 28,
48
- 5: 29,
49
- 6: 30,
50
- 7: 31,
51
- };
52
- var blocks = [0, 0, 0, 0, 0, 0, 0, 0];
53
- var throwInvalidUtf8 = function (position, partial) {
54
- if (partial.length > 10) {
55
- partial = "..." + partial.substr(-10);
56
- }
57
- var err = new Error("Decoded data is not valid UTF-8." +
58
- " Maybe try base32.decode.asBytes()?" +
59
- " Partial data after reading " +
60
- position +
61
- " bytes: " +
62
- partial +
63
- " <-");
64
- err.position = position;
65
- throw err;
66
- };
67
- var toUtf8String = function (bytes) {
68
- var str = "", length = bytes.length, i = 0, followingChars = 0, b, c;
69
- while (i < length) {
70
- b = bytes[i++];
71
- if (b <= 0x7f) {
72
- str += String.fromCharCode(b);
73
- continue;
74
- }
75
- else if (b > 0xbf && b <= 0xdf) {
76
- c = b & 0x1f;
77
- followingChars = 1;
78
- }
79
- else if (b <= 0xef) {
80
- c = b & 0x0f;
81
- followingChars = 2;
82
- }
83
- else if (b <= 0xf7) {
84
- c = b & 0x07;
85
- followingChars = 3;
86
- }
87
- else {
88
- throwInvalidUtf8(i, str);
89
- }
90
- for (var j = 0; j < followingChars; ++j) {
91
- b = bytes[i++];
92
- if (b < 0x80 || b > 0xbf) {
93
- throwInvalidUtf8(i, str);
94
- }
95
- c <<= 6;
96
- c += b & 0x3f;
97
- }
98
- if (c >= 0xd800 && c <= 0xdfff) {
99
- throwInvalidUtf8(i, str);
100
- }
101
- if (c > 0x10ffff) {
102
- throwInvalidUtf8(i, str);
103
- }
104
- if (c <= 0xffff) {
105
- str += String.fromCharCode(c);
106
- }
107
- else {
108
- c -= 0x10000;
109
- str += String.fromCharCode((c >> 10) + 0xd800);
110
- str += String.fromCharCode((c & 0x3ff) + 0xdc00);
111
- }
112
- }
113
- return str;
114
- };
115
- var decodeAsBytes = function (base32Str) {
116
- if (base32Str === "") {
117
- return [];
118
- }
119
- else if (!/^[A-Z2-7=]+$/.test(base32Str)) {
120
- throw new Error("Invalid base32 characters");
121
- }
122
- base32Str = base32Str.replace(/=/g, "");
123
- var v1, v2, v3, v4, v5, v6, v7, v8, bytes = [], index = 0, length = base32Str.length;
124
- // 4 char to 3 bytes
125
- for (var i = 0, count = (length >> 3) << 3; i < count;) {
126
- v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
127
- v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
128
- v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
129
- v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
130
- v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
131
- v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
132
- v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
133
- v8 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
134
- bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
135
- bytes[index++] = ((v2 << 6) | (v3 << 1) | (v4 >>> 4)) & 255;
136
- bytes[index++] = ((v4 << 4) | (v5 >>> 1)) & 255;
137
- bytes[index++] = ((v5 << 7) | (v6 << 2) | (v7 >>> 3)) & 255;
138
- bytes[index++] = ((v7 << 5) | v8) & 255;
139
- }
140
- // remain bytes
141
- var remain = length - count;
142
- if (remain === 2) {
143
- v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
144
- v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
145
- bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
146
- }
147
- else if (remain === 4) {
148
- v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
149
- v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
150
- v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
151
- v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
152
- bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
153
- bytes[index++] = ((v2 << 6) | (v3 << 1) | (v4 >>> 4)) & 255;
154
- }
155
- else if (remain === 5) {
156
- v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
157
- v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
158
- v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
159
- v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
160
- v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
161
- bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
162
- bytes[index++] = ((v2 << 6) | (v3 << 1) | (v4 >>> 4)) & 255;
163
- bytes[index++] = ((v4 << 4) | (v5 >>> 1)) & 255;
164
- }
165
- else if (remain === 7) {
166
- v1 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
167
- v2 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
168
- v3 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
169
- v4 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
170
- v5 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
171
- v6 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
172
- v7 = BASE32_DECODE_CHAR[base32Str.charAt(i++)];
173
- bytes[index++] = ((v1 << 3) | (v2 >>> 2)) & 255;
174
- bytes[index++] = ((v2 << 6) | (v3 << 1) | (v4 >>> 4)) & 255;
175
- bytes[index++] = ((v4 << 4) | (v5 >>> 1)) & 255;
176
- bytes[index++] = ((v5 << 7) | (v6 << 2) | (v7 >>> 3)) & 255;
177
- }
178
- return bytes;
179
- };
180
- var encodeUtf8 = function (str) {
181
- var v1, v2, v3, v4, v5, code, end = false, base32Str = "", index = 0, i, start = 0, length = str.length;
182
- if (str === "") {
183
- return base32Str;
184
- }
185
- do {
186
- blocks[0] = blocks[5];
187
- blocks[1] = blocks[6];
188
- blocks[2] = blocks[7];
189
- for (i = start; index < length && i < 5; ++index) {
190
- code = str.charCodeAt(index);
191
- if (code < 0x80) {
192
- blocks[i++] = code;
193
- }
194
- else if (code < 0x800) {
195
- blocks[i++] = 0xc0 | (code >> 6);
196
- blocks[i++] = 0x80 | (code & 0x3f);
197
- }
198
- else if (code < 0xd800 || code >= 0xe000) {
199
- blocks[i++] = 0xe0 | (code >> 12);
200
- blocks[i++] = 0x80 | ((code >> 6) & 0x3f);
201
- blocks[i++] = 0x80 | (code & 0x3f);
202
- }
203
- else {
204
- code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++index) & 0x3ff));
205
- blocks[i++] = 0xf0 | (code >> 18);
206
- blocks[i++] = 0x80 | ((code >> 12) & 0x3f);
207
- blocks[i++] = 0x80 | ((code >> 6) & 0x3f);
208
- blocks[i++] = 0x80 | (code & 0x3f);
209
- }
210
- }
211
- start = i - 5;
212
- if (index === length) {
213
- ++index;
214
- }
215
- if (index > length && i < 6) {
216
- end = true;
217
- }
218
- v1 = blocks[0];
219
- if (i > 4) {
220
- v2 = blocks[1];
221
- v3 = blocks[2];
222
- v4 = blocks[3];
223
- v5 = blocks[4];
224
- base32Str +=
225
- BASE32_ENCODE_CHAR[v1 >>> 3] +
226
- BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
227
- BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
228
- BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
229
- BASE32_ENCODE_CHAR[((v3 << 1) | (v4 >>> 7)) & 31] +
230
- BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +
231
- BASE32_ENCODE_CHAR[((v4 << 3) | (v5 >>> 5)) & 31] +
232
- BASE32_ENCODE_CHAR[v5 & 31];
233
- }
234
- else if (i === 1) {
235
- base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2) & 31] + "======";
236
- }
237
- else if (i === 2) {
238
- v2 = blocks[1];
239
- base32Str +=
240
- BASE32_ENCODE_CHAR[v1 >>> 3] +
241
- BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
242
- BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
243
- BASE32_ENCODE_CHAR[(v2 << 4) & 31] +
244
- "====";
245
- }
246
- else if (i === 3) {
247
- v2 = blocks[1];
248
- v3 = blocks[2];
249
- base32Str +=
250
- BASE32_ENCODE_CHAR[v1 >>> 3] +
251
- BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
252
- BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
253
- BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
254
- BASE32_ENCODE_CHAR[(v3 << 1) & 31] +
255
- "===";
256
- }
257
- else {
258
- v2 = blocks[1];
259
- v3 = blocks[2];
260
- v4 = blocks[3];
261
- base32Str +=
262
- BASE32_ENCODE_CHAR[v1 >>> 3] +
263
- BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
264
- BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
265
- BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
266
- BASE32_ENCODE_CHAR[((v3 << 1) | (v4 >>> 7)) & 31] +
267
- BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +
268
- BASE32_ENCODE_CHAR[(v4 << 3) & 31] +
269
- "=";
270
- }
271
- } while (!end);
272
- return base32Str;
273
- };
274
- var encodeBytes = function (bytes) {
275
- var v1, v2, v3, v4, v5, base32Str = "", length = bytes.length;
276
- for (var i = 0, count = parseInt(length / 5) * 5; i < count;) {
277
- v1 = bytes[i++];
278
- v2 = bytes[i++];
279
- v3 = bytes[i++];
280
- v4 = bytes[i++];
281
- v5 = bytes[i++];
282
- base32Str +=
283
- BASE32_ENCODE_CHAR[v1 >>> 3] +
284
- BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
285
- BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
286
- BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
287
- BASE32_ENCODE_CHAR[((v3 << 1) | (v4 >>> 7)) & 31] +
288
- BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +
289
- BASE32_ENCODE_CHAR[((v4 << 3) | (v5 >>> 5)) & 31] +
290
- BASE32_ENCODE_CHAR[v5 & 31];
291
- }
292
- // remain char
293
- var remain = length - count;
294
- if (remain === 1) {
295
- v1 = bytes[i];
296
- base32Str += BASE32_ENCODE_CHAR[v1 >>> 3] + BASE32_ENCODE_CHAR[(v1 << 2) & 31] + "======";
297
- }
298
- else if (remain === 2) {
299
- v1 = bytes[i++];
300
- v2 = bytes[i];
301
- base32Str +=
302
- BASE32_ENCODE_CHAR[v1 >>> 3] +
303
- BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
304
- BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
305
- BASE32_ENCODE_CHAR[(v2 << 4) & 31] +
306
- "====";
307
- }
308
- else if (remain === 3) {
309
- v1 = bytes[i++];
310
- v2 = bytes[i++];
311
- v3 = bytes[i];
312
- base32Str +=
313
- BASE32_ENCODE_CHAR[v1 >>> 3] +
314
- BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
315
- BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
316
- BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
317
- BASE32_ENCODE_CHAR[(v3 << 1) & 31] +
318
- "===";
319
- }
320
- else if (remain === 4) {
321
- v1 = bytes[i++];
322
- v2 = bytes[i++];
323
- v3 = bytes[i++];
324
- v4 = bytes[i];
325
- base32Str +=
326
- BASE32_ENCODE_CHAR[v1 >>> 3] +
327
- BASE32_ENCODE_CHAR[((v1 << 2) | (v2 >>> 6)) & 31] +
328
- BASE32_ENCODE_CHAR[(v2 >>> 1) & 31] +
329
- BASE32_ENCODE_CHAR[((v2 << 4) | (v3 >>> 4)) & 31] +
330
- BASE32_ENCODE_CHAR[((v3 << 1) | (v4 >>> 7)) & 31] +
331
- BASE32_ENCODE_CHAR[(v4 >>> 2) & 31] +
332
- BASE32_ENCODE_CHAR[(v4 << 3) & 31] +
333
- "=";
334
- }
335
- return base32Str;
336
- };
337
- var encode = function (input, asciiOnly) {
338
- var notString = typeof input !== "string";
339
- if (notString && input.constructor === ArrayBuffer) {
340
- input = new Uint8Array(input);
341
- }
342
- if (notString) {
343
- return encodeBytes(input);
344
- }
345
- else {
346
- return encodeUtf8(input);
347
- }
348
- };
349
- var decode = function (base32Str, asciiOnly) {
350
- {
351
- return toUtf8String(decodeAsBytes(base32Str));
352
- }
353
- };
354
-
355
- exports.decode = decode;
356
- exports.decodeAsBytes = decodeAsBytes;
357
- exports.encode = encode;
@@ -1,41 +0,0 @@
1
- 'use strict';
2
-
3
- var base32 = require('./base32.cjs');
4
-
5
- /**
6
- * base32 加密
7
- * @param {String} str 字符串
8
- * @returns {String} 返回加密后的字符串
9
- */
10
- function encode(str) {
11
- return base32.encode(str);
12
- }
13
- /**
14
- * base32 解密
15
- * @param {String} str 字符串
16
- * @returns {String} 返回解密后的字符串
17
- */
18
- function decode(str) {
19
- return base32.decode(str);
20
- }
21
- /**
22
- * base32 加密字节数组
23
- * @param {Array} array 数组
24
- * @returns {String} 返回加密后的字符串
25
- */
26
- function encodeAsBytes(array) {
27
- return base32.encode(array);
28
- }
29
- /**
30
- * base32 解密字节数组
31
- * @param {String} str 字符串
32
- * @returns {Array} 返回解密后的字节
33
- */
34
- function decodeAsBytes(str) {
35
- return base32.decodeAsBytes(str);
36
- }
37
-
38
- exports.decode = decode;
39
- exports.decodeAsBytes = decodeAsBytes;
40
- exports.encode = encode;
41
- exports.encodeAsBytes = encodeAsBytes;
@@ -1,257 +0,0 @@
1
- 'use strict';
2
-
3
- var index = require('../base64/index.cjs');
4
-
5
- const { encode, decode } = index;
6
- /**
7
- * 使用方法
8
- * 实例化对象 new Des()
9
- * 加密方法 encrypt(key,plaintext)
10
- * 解密方法 decrypt(key,ciphertext)
11
- * 示例---------------------------------------------------
12
- * var Des = new Des();
13
- * var key = 'custom key';
14
- * var value = '需要加密的内容'
15
- * var ciphertext = encrypt(key,value);//加密
16
- * var plaintext = encrypt(key,ciphertext);//解密
17
- */
18
- function Des(key, value) {
19
- this.key = key;
20
- this.value = value;
21
- }
22
- /**
23
- * @param {String} key 密钥
24
- * @param {String} value 内容
25
- * @param {String} type 类型 ->encrypt加密|decrypt解密
26
- */
27
- Des.prototype._DesCreate = function (key, value, type) {
28
- var message = value;
29
- if (type === "decrypt") {
30
- var requestValue = "";
31
- for (var i = value.substr(0, 2) == "0x" ? 2 : 0; i < value.length; i += 2) {
32
- requestValue += String.fromCharCode(parseInt(value.substr(i, 2), 16));
33
- }
34
- message = requestValue;
35
- }
36
- var spfunction1 = new Array(0x1010400, 0, 0x10000, 0x1010404, 0x1010004, 0x10404, 0x4, 0x10000, 0x400, 0x1010400, 0x1010404, 0x400, 0x1000404, 0x1010004, 0x1000000, 0x4, 0x404, 0x1000400, 0x1000400, 0x10400, 0x10400, 0x1010000, 0x1010000, 0x1000404, 0x10004, 0x1000004, 0x1000004, 0x10004, 0, 0x404, 0x10404, 0x1000000, 0x10000, 0x1010404, 0x4, 0x1010000, 0x1010400, 0x1000000, 0x1000000, 0x400, 0x1010004, 0x10000, 0x10400, 0x1000004, 0x400, 0x4, 0x1000404, 0x10404, 0x1010404, 0x10004, 0x1010000, 0x1000404, 0x1000004, 0x404, 0x10404, 0x1010400, 0x404, 0x1000400, 0x1000400, 0, 0x10004, 0x10400, 0, 0x1010004);
37
- var spfunction2 = new Array(-2146402272, -2147450880, 0x8000, 0x108020, 0x100000, 0x20, -2146435040, -2147450848, -2147483616, -2146402272, -2146402304, -2147483648, -2147450880, 0x100000, 0x20, -2146435040, 0x108000, 0x100020, -2147450848, 0, -2147483648, 0x8000, 0x108020, -2146435072, 0x100020, -2147483616, 0, 0x108000, 0x8020, -2146402304, -2146435072, 0x8020, 0, 0x108020, -2146435040, 0x100000, -2147450848, -2146435072, -2146402304, 0x8000, -2146435072, -2147450880, 0x20, -2146402272, 0x108020, 0x20, 0x8000, -2147483648, 0x8020, -2146402304, 0x100000, -2147483616, 0x100020, -2147450848, -2147483616, 0x100020, 0x108000, 0, -2147450880, 0x8020, -2147483648, -2146435040, -2146402272, 0x108000);
38
- var spfunction3 = new Array(0x208, 0x8020200, 0, 0x8020008, 0x8000200, 0, 0x20208, 0x8000200, 0x20008, 0x8000008, 0x8000008, 0x20000, 0x8020208, 0x20008, 0x8020000, 0x208, 0x8000000, 0x8, 0x8020200, 0x200, 0x20200, 0x8020000, 0x8020008, 0x20208, 0x8000208, 0x20200, 0x20000, 0x8000208, 0x8, 0x8020208, 0x200, 0x8000000, 0x8020200, 0x8000000, 0x20008, 0x208, 0x20000, 0x8020200, 0x8000200, 0, 0x200, 0x20008, 0x8020208, 0x8000200, 0x8000008, 0x200, 0, 0x8020008, 0x8000208, 0x20000, 0x8000000, 0x8020208, 0x8, 0x20208, 0x20200, 0x8000008, 0x8020000, 0x8000208, 0x208, 0x8020000, 0x20208, 0x8, 0x8020008, 0x20200);
39
- var spfunction4 = new Array(0x802001, 0x2081, 0x2081, 0x80, 0x802080, 0x800081, 0x800001, 0x2001, 0, 0x802000, 0x802000, 0x802081, 0x81, 0, 0x800080, 0x800001, 0x1, 0x2000, 0x800000, 0x802001, 0x80, 0x800000, 0x2001, 0x2080, 0x800081, 0x1, 0x2080, 0x800080, 0x2000, 0x802080, 0x802081, 0x81, 0x800080, 0x800001, 0x802000, 0x802081, 0x81, 0, 0, 0x802000, 0x2080, 0x800080, 0x800081, 0x1, 0x802001, 0x2081, 0x2081, 0x80, 0x802081, 0x81, 0x1, 0x2000, 0x800001, 0x2001, 0x802080, 0x800081, 0x2001, 0x2080, 0x800000, 0x802001, 0x80, 0x800000, 0x2000, 0x802080);
40
- var spfunction5 = new Array(0x100, 0x2080100, 0x2080000, 0x42000100, 0x80000, 0x100, 0x40000000, 0x2080000, 0x40080100, 0x80000, 0x2000100, 0x40080100, 0x42000100, 0x42080000, 0x80100, 0x40000000, 0x2000000, 0x40080000, 0x40080000, 0, 0x40000100, 0x42080100, 0x42080100, 0x2000100, 0x42080000, 0x40000100, 0, 0x42000000, 0x2080100, 0x2000000, 0x42000000, 0x80100, 0x80000, 0x42000100, 0x100, 0x2000000, 0x40000000, 0x2080000, 0x42000100, 0x40080100, 0x2000100, 0x40000000, 0x42080000, 0x2080100, 0x40080100, 0x100, 0x2000000, 0x42080000, 0x42080100, 0x80100, 0x42000000, 0x42080100, 0x2080000, 0, 0x40080000, 0x42000000, 0x80100, 0x2000100, 0x40000100, 0x80000, 0, 0x40080000, 0x2080100, 0x40000100);
41
- var spfunction6 = new Array(0x20000010, 0x20400000, 0x4000, 0x20404010, 0x20400000, 0x10, 0x20404010, 0x400000, 0x20004000, 0x404010, 0x400000, 0x20000010, 0x400010, 0x20004000, 0x20000000, 0x4010, 0, 0x400010, 0x20004010, 0x4000, 0x404000, 0x20004010, 0x10, 0x20400010, 0x20400010, 0, 0x404010, 0x20404000, 0x4010, 0x404000, 0x20404000, 0x20000000, 0x20004000, 0x10, 0x20400010, 0x404000, 0x20404010, 0x400000, 0x4010, 0x20000010, 0x400000, 0x20004000, 0x20000000, 0x4010, 0x20000010, 0x20404010, 0x404000, 0x20400000, 0x404010, 0x20404000, 0, 0x20400010, 0x10, 0x4000, 0x20400000, 0x404010, 0x4000, 0x400010, 0x20004010, 0, 0x20404000, 0x20000000, 0x400010, 0x20004010);
42
- var spfunction7 = new Array(0x200000, 0x4200002, 0x4000802, 0, 0x800, 0x4000802, 0x200802, 0x4200800, 0x4200802, 0x200000, 0, 0x4000002, 0x2, 0x4000000, 0x4200002, 0x802, 0x4000800, 0x200802, 0x200002, 0x4000800, 0x4000002, 0x4200000, 0x4200800, 0x200002, 0x4200000, 0x800, 0x802, 0x4200802, 0x200800, 0x2, 0x4000000, 0x200800, 0x4000000, 0x200800, 0x200000, 0x4000802, 0x4000802, 0x4200002, 0x4200002, 0x2, 0x200002, 0x4000000, 0x4000800, 0x200000, 0x4200800, 0x802, 0x200802, 0x4200800, 0x802, 0x4000002, 0x4200802, 0x4200000, 0x200800, 0, 0x2, 0x4200802, 0, 0x200802, 0x4200000, 0x800, 0x4000002, 0x4000800, 0x800, 0x200002);
43
- var spfunction8 = new Array(0x10001040, 0x1000, 0x40000, 0x10041040, 0x10000000, 0x10001040, 0x40, 0x10000000, 0x40040, 0x10040000, 0x10041040, 0x41000, 0x10041000, 0x41040, 0x1000, 0x40, 0x10040000, 0x10000040, 0x10001000, 0x1040, 0x41000, 0x40040, 0x10040040, 0x10041000, 0x1040, 0, 0, 0x10040040, 0x10000040, 0x10001000, 0x41040, 0x40000, 0x41040, 0x40000, 0x10041000, 0x1000, 0x40, 0x10040040, 0x1000, 0x41040, 0x10001000, 0x40, 0x10000040, 0x10040000, 0x10040040, 0x10000000, 0x40000, 0x10001040, 0, 0x10041040, 0x40040, 0x10000040, 0x10040000, 0x10001000, 0x10001040, 0, 0x10041040, 0x41000, 0x41000, 0x1040, 0x1040, 0x40040, 0x10000000, 0x10041000);
44
- var keys = this._DesCreateKeys(key);
45
- var m = 0, i, j, temp, right1, right2, left, right, looping;
46
- var endloop, loopinc;
47
- var len = message.length;
48
- var chunk = 0;
49
- var iterations = keys.length == 32 ? 3 : 9;
50
- if (iterations == 3) {
51
- looping = type === "encrypt" ? new Array(0, 32, 2) : new Array(30, -2, -2);
52
- }
53
- else {
54
- looping =
55
- type === "encrypt" ? new Array(0, 32, 2, 62, 30, -2, 64, 96, 2) : new Array(94, 62, -2, 32, 64, 2, 30, -2, -2);
56
- }
57
- var result = "";
58
- var tempresult = "";
59
- while (m < len) {
60
- left =
61
- (message.charCodeAt(m++) << 24) |
62
- (message.charCodeAt(m++) << 16) |
63
- (message.charCodeAt(m++) << 8) |
64
- message.charCodeAt(m++);
65
- right =
66
- (message.charCodeAt(m++) << 24) |
67
- (message.charCodeAt(m++) << 16) |
68
- (message.charCodeAt(m++) << 8) |
69
- message.charCodeAt(m++);
70
- temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
71
- right ^= temp;
72
- left ^= temp << 4;
73
- temp = ((left >>> 16) ^ right) & 0x0000ffff;
74
- right ^= temp;
75
- left ^= temp << 16;
76
- temp = ((right >>> 2) ^ left) & 0x33333333;
77
- left ^= temp;
78
- right ^= temp << 2;
79
- temp = ((right >>> 8) ^ left) & 0x00ff00ff;
80
- left ^= temp;
81
- right ^= temp << 8;
82
- temp = ((left >>> 1) ^ right) & 0x55555555;
83
- right ^= temp;
84
- left ^= temp << 1;
85
- left = (left << 1) | (left >>> 31);
86
- right = (right << 1) | (right >>> 31);
87
- for (j = 0; j < iterations; j += 3) {
88
- endloop = looping[j + 1];
89
- loopinc = looping[j + 2];
90
- for (i = looping[j]; i != endloop; i += loopinc) {
91
- right1 = right ^ keys[i];
92
- right2 = ((right >>> 4) | (right << 28)) ^ keys[i + 1];
93
- temp = left;
94
- left = right;
95
- right =
96
- temp ^
97
- (spfunction2[(right1 >>> 24) & 0x3f] |
98
- spfunction4[(right1 >>> 16) & 0x3f] |
99
- spfunction6[(right1 >>> 8) & 0x3f] |
100
- spfunction8[right1 & 0x3f] |
101
- spfunction1[(right2 >>> 24) & 0x3f] |
102
- spfunction3[(right2 >>> 16) & 0x3f] |
103
- spfunction5[(right2 >>> 8) & 0x3f] |
104
- spfunction7[right2 & 0x3f]);
105
- }
106
- temp = left;
107
- left = right;
108
- right = temp;
109
- }
110
- left = (left >>> 1) | (left << 31);
111
- right = (right >>> 1) | (right << 31);
112
- temp = ((left >>> 1) ^ right) & 0x55555555;
113
- right ^= temp;
114
- left ^= temp << 1;
115
- temp = ((right >>> 8) ^ left) & 0x00ff00ff;
116
- left ^= temp;
117
- right ^= temp << 8;
118
- temp = ((right >>> 2) ^ left) & 0x33333333;
119
- left ^= temp;
120
- right ^= temp << 2;
121
- temp = ((left >>> 16) ^ right) & 0x0000ffff;
122
- right ^= temp;
123
- left ^= temp << 16;
124
- temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
125
- right ^= temp;
126
- left ^= temp << 4;
127
- tempresult += String.fromCharCode(left >>> 24, (left >>> 16) & 0xff, (left >>> 8) & 0xff, left & 0xff, right >>> 24, (right >>> 16) & 0xff, (right >>> 8) & 0xff, right & 0xff);
128
- chunk += 8;
129
- if (chunk == 512) {
130
- result += tempresult;
131
- tempresult = "";
132
- chunk = 0;
133
- }
134
- }
135
- var resultTempresult = result + tempresult;
136
- if (type === "encrypt") {
137
- var resultCiphertext = "";
138
- var hexes = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f");
139
- for (var i = 0; i < resultTempresult.length; i++) {
140
- resultCiphertext += hexes[resultTempresult.charCodeAt(i) >> 4] + hexes[resultTempresult.charCodeAt(i) & 0xf];
141
- }
142
- return resultCiphertext;
143
- }
144
- return result + tempresult;
145
- };
146
- Des.prototype._DesCreateKeys = function (key) {
147
- var pc2bytes0 = new Array(0, 0x4, 0x20000000, 0x20000004, 0x10000, 0x10004, 0x20010000, 0x20010004, 0x200, 0x204, 0x20000200, 0x20000204, 0x10200, 0x10204, 0x20010200, 0x20010204);
148
- var pc2bytes1 = new Array(0, 0x1, 0x100000, 0x100001, 0x4000000, 0x4000001, 0x4100000, 0x4100001, 0x100, 0x101, 0x100100, 0x100101, 0x4000100, 0x4000101, 0x4100100, 0x4100101);
149
- var pc2bytes2 = new Array(0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008, 0x1000800, 0x1000808, 0, 0x8, 0x800, 0x808, 0x1000000, 0x1000008, 0x1000800, 0x1000808);
150
- var pc2bytes3 = new Array(0, 0x200000, 0x8000000, 0x8200000, 0x2000, 0x202000, 0x8002000, 0x8202000, 0x20000, 0x220000, 0x8020000, 0x8220000, 0x22000, 0x222000, 0x8022000, 0x8222000);
151
- var pc2bytes4 = new Array(0, 0x40000, 0x10, 0x40010, 0, 0x40000, 0x10, 0x40010, 0x1000, 0x41000, 0x1010, 0x41010, 0x1000, 0x41000, 0x1010, 0x41010);
152
- var pc2bytes5 = new Array(0, 0x400, 0x20, 0x420, 0, 0x400, 0x20, 0x420, 0x2000000, 0x2000400, 0x2000020, 0x2000420, 0x2000000, 0x2000400, 0x2000020, 0x2000420);
153
- var pc2bytes6 = new Array(0, 0x10000000, 0x80000, 0x10080000, 0x2, 0x10000002, 0x80002, 0x10080002, 0, 0x10000000, 0x80000, 0x10080000, 0x2, 0x10000002, 0x80002, 0x10080002);
154
- var pc2bytes7 = new Array(0, 0x10000, 0x800, 0x10800, 0x20000000, 0x20010000, 0x20000800, 0x20010800, 0x20000, 0x30000, 0x20800, 0x30800, 0x20020000, 0x20030000, 0x20020800, 0x20030800);
155
- var pc2bytes8 = new Array(0, 0x40000, 0, 0x40000, 0x2, 0x40002, 0x2, 0x40002, 0x2000000, 0x2040000, 0x2000000, 0x2040000, 0x2000002, 0x2040002, 0x2000002, 0x2040002);
156
- var pc2bytes9 = new Array(0, 0x10000000, 0x8, 0x10000008, 0, 0x10000000, 0x8, 0x10000008, 0x400, 0x10000400, 0x408, 0x10000408, 0x400, 0x10000400, 0x408, 0x10000408);
157
- var pc2bytes10 = new Array(0, 0x20, 0, 0x20, 0x100000, 0x100020, 0x100000, 0x100020, 0x2000, 0x2020, 0x2000, 0x2020, 0x102000, 0x102020, 0x102000, 0x102020);
158
- var pc2bytes11 = new Array(0, 0x1000000, 0x200, 0x1000200, 0x200000, 0x1200000, 0x200200, 0x1200200, 0x4000000, 0x5000000, 0x4000200, 0x5000200, 0x4200000, 0x5200000, 0x4200200, 0x5200200);
159
- var pc2bytes12 = new Array(0, 0x1000, 0x8000000, 0x8001000, 0x80000, 0x81000, 0x8080000, 0x8081000, 0x10, 0x1010, 0x8000010, 0x8001010, 0x80010, 0x81010, 0x8080010, 0x8081010);
160
- var pc2bytes13 = new Array(0, 0x4, 0x100, 0x104, 0, 0x4, 0x100, 0x104, 0x1, 0x5, 0x101, 0x105, 0x1, 0x5, 0x101, 0x105);
161
- var iterations = key.length > 8 ? 3 : 1;
162
- var keys = new Array(32 * iterations);
163
- var shifts = new Array(0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0);
164
- var lefttemp, righttemp, m = 0, n = 0, temp;
165
- for (var j = 0; j < iterations; j++) {
166
- var left = (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++);
167
- var right = (key.charCodeAt(m++) << 24) | (key.charCodeAt(m++) << 16) | (key.charCodeAt(m++) << 8) | key.charCodeAt(m++);
168
- temp = ((left >>> 4) ^ right) & 0x0f0f0f0f;
169
- right ^= temp;
170
- left ^= temp << 4;
171
- temp = ((right >>> -16) ^ left) & 0x0000ffff;
172
- left ^= temp;
173
- right ^= temp << -16;
174
- temp = ((left >>> 2) ^ right) & 0x33333333;
175
- right ^= temp;
176
- left ^= temp << 2;
177
- temp = ((right >>> -16) ^ left) & 0x0000ffff;
178
- left ^= temp;
179
- right ^= temp << -16;
180
- temp = ((left >>> 1) ^ right) & 0x55555555;
181
- right ^= temp;
182
- left ^= temp << 1;
183
- temp = ((right >>> 8) ^ left) & 0x00ff00ff;
184
- left ^= temp;
185
- right ^= temp << 8;
186
- temp = ((left >>> 1) ^ right) & 0x55555555;
187
- right ^= temp;
188
- left ^= temp << 1;
189
- temp = (left << 8) | ((right >>> 20) & 0x000000f0);
190
- left = (right << 24) | ((right << 8) & 0xff0000) | ((right >>> 8) & 0xff00) | ((right >>> 24) & 0xf0);
191
- right = temp;
192
- for (var i = 0; i < shifts.length; i++) {
193
- if (shifts[i]) {
194
- left = (left << 2) | (left >>> 26);
195
- right = (right << 2) | (right >>> 26);
196
- }
197
- else {
198
- left = (left << 1) | (left >>> 27);
199
- right = (right << 1) | (right >>> 27);
200
- }
201
- left &= -15;
202
- right &= -15;
203
- lefttemp =
204
- pc2bytes0[left >>> 28] |
205
- pc2bytes1[(left >>> 24) & 0xf] |
206
- pc2bytes2[(left >>> 20) & 0xf] |
207
- pc2bytes3[(left >>> 16) & 0xf] |
208
- pc2bytes4[(left >>> 12) & 0xf] |
209
- pc2bytes5[(left >>> 8) & 0xf] |
210
- pc2bytes6[(left >>> 4) & 0xf];
211
- righttemp =
212
- pc2bytes7[right >>> 28] |
213
- pc2bytes8[(right >>> 24) & 0xf] |
214
- pc2bytes9[(right >>> 20) & 0xf] |
215
- pc2bytes10[(right >>> 16) & 0xf] |
216
- pc2bytes11[(right >>> 12) & 0xf] |
217
- pc2bytes12[(right >>> 8) & 0xf] |
218
- pc2bytes13[(right >>> 4) & 0xf];
219
- temp = ((righttemp >>> 16) ^ lefttemp) & 0x0000ffff;
220
- keys[n++] = lefttemp ^ temp;
221
- keys[n++] = righttemp ^ (temp << 16);
222
- }
223
- }
224
- return keys;
225
- };
226
- /*
227
- ------------------------------------------------------------------------------------
228
- 以上方法对象的私有方法
229
- 为了解决中文乱码
230
- 使用base64先加密,再用des加密
231
- 同理,解密时先用deds解密,再使用base64解密
232
- ------------------------------------------------------------------------------------
233
- */
234
- /**
235
- * 加密
236
- * @param {String} key 密钥
237
- * @param {String} plaintext 明文
238
- * @return {String} ciphertext 密文
239
- */
240
- Des.prototype.encrypt = function (key, plaintext) {
241
- var encodedString = encode(plaintext);
242
- var ciphertext = this._DesCreate(key, encodedString, "encrypt");
243
- return ciphertext;
244
- };
245
- /**
246
- * 解密
247
- * @param {String} key 密钥
248
- * @param {String} ciphertext 密文
249
- * @return {String} plaintext 明文
250
- */
251
- Des.prototype.decrypt = function (key, ciphertext) {
252
- var decryptText = this._DesCreate(key, ciphertext, "decrypt"); // Des解密
253
- var plaintext = decode(decryptText); // base64解密
254
- return plaintext;
255
- };
256
-
257
- module.exports = Des;
@@ -1,28 +0,0 @@
1
- 'use strict';
2
-
3
- var des = require('./des.cjs');
4
-
5
- /* 对称加密 DES */
6
- /**
7
- * des 加密
8
- * @param {String} str 字符串
9
- * @param {String} key 秘钥
10
- * @returns {String} 返回加密后的字符串
11
- */
12
- function encrypt(str, key) {
13
- let des$1 = new des(key, str);
14
- return des$1.encrypt(key, str);
15
- }
16
- /**
17
- * des 解密
18
- * @param {String} str 字符串
19
- * @param {String} key 秘钥
20
- * @returns {String} 返回解密后的字符串
21
- */
22
- function decrypt(str, key) {
23
- let des$1 = new des(key, str);
24
- return des$1.decrypt(key, str);
25
- }
26
-
27
- exports.decrypt = decrypt;
28
- exports.encrypt = encrypt;