@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,649 +0,0 @@
1
- /**
2
- * [js-sha256]{@link https://github.com/emn178/js-sha256}
3
- *
4
- * @version 0.11.0
5
- * @author Chen, Yi-Cyuan [emn178@gmail.com]
6
- * @copyright Chen, Yi-Cyuan 2014-2024
7
- * @license MIT
8
- */
9
- /* jslint bitwise: true */
10
-
11
- var ERROR = "input is invalid type";
12
- var WINDOW = typeof window === "object";
13
- var root = WINDOW ? window : {};
14
- if (root.JS_SHA256_NO_WINDOW) {
15
- WINDOW = false;
16
- }
17
- var WEB_WORKER = !WINDOW && typeof self === "object";
18
- var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node;
19
- if (NODE_JS) {
20
- root = global;
21
- } else if (WEB_WORKER) {
22
- root = self;
23
- }
24
- var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== "undefined";
25
- var HEX_CHARS = "0123456789abcdef".split("");
26
- var EXTRA = [-2147483648, 8388608, 32768, 128];
27
- var SHIFT = [24, 16, 8, 0];
28
- var K = [
29
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98,
30
- 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
31
- 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8,
32
- 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
33
- 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,
34
- 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
35
- 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7,
36
- 0xc67178f2,
37
- ];
38
- var OUTPUT_TYPES = ["hex", "array", "digest", "arrayBuffer"];
39
-
40
- var blocks = [];
41
-
42
- if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {
43
- Array.isArray = function (obj) {
44
- return Object.prototype.toString.call(obj) === "[object Array]";
45
- };
46
- }
47
-
48
- if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
49
- ArrayBuffer.isView = function (obj) {
50
- return typeof obj === "object" && obj.buffer && obj.buffer.constructor === ArrayBuffer;
51
- };
52
- }
53
-
54
- var createOutputMethod = function (outputType, is224) {
55
- return function (message) {
56
- return new Sha256(is224, true).update(message)[outputType]();
57
- };
58
- };
59
-
60
- var createMethod = function (is224) {
61
- var method = createOutputMethod("hex", is224);
62
- if (NODE_JS) {
63
- method = nodeWrap(method, is224);
64
- }
65
- method.create = function () {
66
- return new Sha256(is224);
67
- };
68
- method.update = function (message) {
69
- return method.create().update(message);
70
- };
71
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
72
- var type = OUTPUT_TYPES[i];
73
- method[type] = createOutputMethod(type, is224);
74
- }
75
- return method;
76
- };
77
-
78
- var nodeWrap = function (method, is224) {
79
- var crypto = require("crypto");
80
- var Buffer = require("buffer").Buffer;
81
- var algorithm = is224 ? "sha224" : "sha256";
82
- var bufferFrom;
83
- if (Buffer.from && !root.JS_SHA256_NO_BUFFER_FROM) {
84
- bufferFrom = Buffer.from;
85
- } else {
86
- bufferFrom = function (message) {
87
- return new Buffer(message);
88
- };
89
- }
90
- var nodeMethod = function (message) {
91
- if (typeof message === "string") {
92
- return crypto.createHash(algorithm).update(message, "utf8").digest("hex");
93
- } else {
94
- if (message === null || message === undefined) {
95
- throw new Error(ERROR);
96
- } else if (message.constructor === ArrayBuffer) {
97
- message = new Uint8Array(message);
98
- }
99
- }
100
- if (Array.isArray(message) || ArrayBuffer.isView(message) || message.constructor === Buffer) {
101
- return crypto.createHash(algorithm).update(bufferFrom(message)).digest("hex");
102
- } else {
103
- return method(message);
104
- }
105
- };
106
- return nodeMethod;
107
- };
108
-
109
- var createHmacOutputMethod = function (outputType, is224) {
110
- return function (key, message) {
111
- return new HmacSha256(key, is224, true).update(message)[outputType]();
112
- };
113
- };
114
-
115
- var createHmacMethod = function (is224) {
116
- var method = createHmacOutputMethod("hex", is224);
117
- method.create = function (key) {
118
- return new HmacSha256(key, is224);
119
- };
120
- method.update = function (key, message) {
121
- return method.create(key).update(message);
122
- };
123
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
124
- var type = OUTPUT_TYPES[i];
125
- method[type] = createHmacOutputMethod(type, is224);
126
- }
127
- return method;
128
- };
129
-
130
- function Sha256(is224, sharedMemory) {
131
- if (sharedMemory) {
132
- blocks[0] =
133
- blocks[16] =
134
- blocks[1] =
135
- blocks[2] =
136
- blocks[3] =
137
- blocks[4] =
138
- blocks[5] =
139
- blocks[6] =
140
- blocks[7] =
141
- blocks[8] =
142
- blocks[9] =
143
- blocks[10] =
144
- blocks[11] =
145
- blocks[12] =
146
- blocks[13] =
147
- blocks[14] =
148
- blocks[15] =
149
- 0;
150
- this.blocks = blocks;
151
- } else {
152
- this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
153
- }
154
-
155
- if (is224) {
156
- this.h0 = 0xc1059ed8;
157
- this.h1 = 0x367cd507;
158
- this.h2 = 0x3070dd17;
159
- this.h3 = 0xf70e5939;
160
- this.h4 = 0xffc00b31;
161
- this.h5 = 0x68581511;
162
- this.h6 = 0x64f98fa7;
163
- this.h7 = 0xbefa4fa4;
164
- } else {
165
- // 256
166
- this.h0 = 0x6a09e667;
167
- this.h1 = 0xbb67ae85;
168
- this.h2 = 0x3c6ef372;
169
- this.h3 = 0xa54ff53a;
170
- this.h4 = 0x510e527f;
171
- this.h5 = 0x9b05688c;
172
- this.h6 = 0x1f83d9ab;
173
- this.h7 = 0x5be0cd19;
174
- }
175
-
176
- this.block = this.start = this.bytes = this.hBytes = 0;
177
- this.finalized = this.hashed = false;
178
- this.first = true;
179
- this.is224 = is224;
180
- }
181
-
182
- Sha256.prototype.update = function (message) {
183
- if (this.finalized) {
184
- return;
185
- }
186
- var notString,
187
- type = typeof message;
188
- if (type !== "string") {
189
- if (type === "object") {
190
- if (message === null) {
191
- throw new Error(ERROR);
192
- } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
193
- message = new Uint8Array(message);
194
- } else if (!Array.isArray(message)) {
195
- if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
196
- throw new Error(ERROR);
197
- }
198
- }
199
- } else {
200
- throw new Error(ERROR);
201
- }
202
- notString = true;
203
- }
204
- var code,
205
- index = 0,
206
- i,
207
- length = message.length,
208
- blocks = this.blocks;
209
- while (index < length) {
210
- if (this.hashed) {
211
- this.hashed = false;
212
- blocks[0] = this.block;
213
- this.block =
214
- blocks[16] =
215
- blocks[1] =
216
- blocks[2] =
217
- blocks[3] =
218
- blocks[4] =
219
- blocks[5] =
220
- blocks[6] =
221
- blocks[7] =
222
- blocks[8] =
223
- blocks[9] =
224
- blocks[10] =
225
- blocks[11] =
226
- blocks[12] =
227
- blocks[13] =
228
- blocks[14] =
229
- blocks[15] =
230
- 0;
231
- }
232
-
233
- if (notString) {
234
- for (i = this.start; index < length && i < 64; ++index) {
235
- blocks[i >>> 2] |= message[index] << SHIFT[i++ & 3];
236
- }
237
- } else {
238
- for (i = this.start; index < length && i < 64; ++index) {
239
- code = message.charCodeAt(index);
240
- if (code < 0x80) {
241
- blocks[i >>> 2] |= code << SHIFT[i++ & 3];
242
- } else if (code < 0x800) {
243
- blocks[i >>> 2] |= (0xc0 | (code >>> 6)) << SHIFT[i++ & 3];
244
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
245
- } else if (code < 0xd800 || code >= 0xe000) {
246
- blocks[i >>> 2] |= (0xe0 | (code >>> 12)) << SHIFT[i++ & 3];
247
- blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];
248
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
249
- } else {
250
- code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
251
- blocks[i >>> 2] |= (0xf0 | (code >>> 18)) << SHIFT[i++ & 3];
252
- blocks[i >>> 2] |= (0x80 | ((code >>> 12) & 0x3f)) << SHIFT[i++ & 3];
253
- blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];
254
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
255
- }
256
- }
257
- }
258
-
259
- this.lastByteIndex = i;
260
- this.bytes += i - this.start;
261
- if (i >= 64) {
262
- this.block = blocks[16];
263
- this.start = i - 64;
264
- this.hash();
265
- this.hashed = true;
266
- } else {
267
- this.start = i;
268
- }
269
- }
270
- if (this.bytes > 4294967295) {
271
- this.hBytes += (this.bytes / 4294967296) << 0;
272
- this.bytes = this.bytes % 4294967296;
273
- }
274
- return this;
275
- };
276
-
277
- Sha256.prototype.finalize = function () {
278
- if (this.finalized) {
279
- return;
280
- }
281
- this.finalized = true;
282
- var blocks = this.blocks,
283
- i = this.lastByteIndex;
284
- blocks[16] = this.block;
285
- blocks[i >>> 2] |= EXTRA[i & 3];
286
- this.block = blocks[16];
287
- if (i >= 56) {
288
- if (!this.hashed) {
289
- this.hash();
290
- }
291
- blocks[0] = this.block;
292
- blocks[16] =
293
- blocks[1] =
294
- blocks[2] =
295
- blocks[3] =
296
- blocks[4] =
297
- blocks[5] =
298
- blocks[6] =
299
- blocks[7] =
300
- blocks[8] =
301
- blocks[9] =
302
- blocks[10] =
303
- blocks[11] =
304
- blocks[12] =
305
- blocks[13] =
306
- blocks[14] =
307
- blocks[15] =
308
- 0;
309
- }
310
- blocks[14] = (this.hBytes << 3) | (this.bytes >>> 29);
311
- blocks[15] = this.bytes << 3;
312
- this.hash();
313
- };
314
-
315
- Sha256.prototype.hash = function () {
316
- var a = this.h0,
317
- b = this.h1,
318
- c = this.h2,
319
- d = this.h3,
320
- e = this.h4,
321
- f = this.h5,
322
- g = this.h6,
323
- h = this.h7,
324
- blocks = this.blocks,
325
- j,
326
- s0,
327
- s1,
328
- maj,
329
- t1,
330
- t2,
331
- ch,
332
- ab,
333
- da,
334
- cd,
335
- bc;
336
-
337
- for (j = 16; j < 64; ++j) {
338
- // rightrotate
339
- t1 = blocks[j - 15];
340
- s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);
341
- t1 = blocks[j - 2];
342
- s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);
343
- blocks[j] = (blocks[j - 16] + s0 + blocks[j - 7] + s1) << 0;
344
- }
345
-
346
- bc = b & c;
347
- for (j = 0; j < 64; j += 4) {
348
- if (this.first) {
349
- if (this.is224) {
350
- ab = 300032;
351
- t1 = blocks[0] - 1413257819;
352
- h = (t1 - 150054599) << 0;
353
- d = (t1 + 24177077) << 0;
354
- } else {
355
- ab = 704751109;
356
- t1 = blocks[0] - 210244248;
357
- h = (t1 - 1521486534) << 0;
358
- d = (t1 + 143694565) << 0;
359
- }
360
- this.first = false;
361
- } else {
362
- s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));
363
- s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));
364
- ab = a & b;
365
- maj = ab ^ (a & c) ^ bc;
366
- ch = (e & f) ^ (~e & g);
367
- t1 = h + s1 + ch + K[j] + blocks[j];
368
- t2 = s0 + maj;
369
- h = (d + t1) << 0;
370
- d = (t1 + t2) << 0;
371
- }
372
- s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));
373
- s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));
374
- da = d & a;
375
- maj = da ^ (d & b) ^ ab;
376
- ch = (h & e) ^ (~h & f);
377
- t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];
378
- t2 = s0 + maj;
379
- g = (c + t1) << 0;
380
- c = (t1 + t2) << 0;
381
- s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));
382
- s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));
383
- cd = c & d;
384
- maj = cd ^ (c & a) ^ da;
385
- ch = (g & h) ^ (~g & e);
386
- t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];
387
- t2 = s0 + maj;
388
- f = (b + t1) << 0;
389
- b = (t1 + t2) << 0;
390
- s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));
391
- s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));
392
- bc = b & c;
393
- maj = bc ^ (b & d) ^ cd;
394
- ch = (f & g) ^ (~f & h);
395
- t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];
396
- t2 = s0 + maj;
397
- e = (a + t1) << 0;
398
- a = (t1 + t2) << 0;
399
- this.chromeBugWorkAround = true;
400
- }
401
-
402
- this.h0 = (this.h0 + a) << 0;
403
- this.h1 = (this.h1 + b) << 0;
404
- this.h2 = (this.h2 + c) << 0;
405
- this.h3 = (this.h3 + d) << 0;
406
- this.h4 = (this.h4 + e) << 0;
407
- this.h5 = (this.h5 + f) << 0;
408
- this.h6 = (this.h6 + g) << 0;
409
- this.h7 = (this.h7 + h) << 0;
410
- };
411
-
412
- Sha256.prototype.hex = function () {
413
- this.finalize();
414
-
415
- var h0 = this.h0,
416
- h1 = this.h1,
417
- h2 = this.h2,
418
- h3 = this.h3,
419
- h4 = this.h4,
420
- h5 = this.h5,
421
- h6 = this.h6,
422
- h7 = this.h7;
423
-
424
- var hex =
425
- HEX_CHARS[(h0 >>> 28) & 0x0f] +
426
- HEX_CHARS[(h0 >>> 24) & 0x0f] +
427
- HEX_CHARS[(h0 >>> 20) & 0x0f] +
428
- HEX_CHARS[(h0 >>> 16) & 0x0f] +
429
- HEX_CHARS[(h0 >>> 12) & 0x0f] +
430
- HEX_CHARS[(h0 >>> 8) & 0x0f] +
431
- HEX_CHARS[(h0 >>> 4) & 0x0f] +
432
- HEX_CHARS[h0 & 0x0f] +
433
- HEX_CHARS[(h1 >>> 28) & 0x0f] +
434
- HEX_CHARS[(h1 >>> 24) & 0x0f] +
435
- HEX_CHARS[(h1 >>> 20) & 0x0f] +
436
- HEX_CHARS[(h1 >>> 16) & 0x0f] +
437
- HEX_CHARS[(h1 >>> 12) & 0x0f] +
438
- HEX_CHARS[(h1 >>> 8) & 0x0f] +
439
- HEX_CHARS[(h1 >>> 4) & 0x0f] +
440
- HEX_CHARS[h1 & 0x0f] +
441
- HEX_CHARS[(h2 >>> 28) & 0x0f] +
442
- HEX_CHARS[(h2 >>> 24) & 0x0f] +
443
- HEX_CHARS[(h2 >>> 20) & 0x0f] +
444
- HEX_CHARS[(h2 >>> 16) & 0x0f] +
445
- HEX_CHARS[(h2 >>> 12) & 0x0f] +
446
- HEX_CHARS[(h2 >>> 8) & 0x0f] +
447
- HEX_CHARS[(h2 >>> 4) & 0x0f] +
448
- HEX_CHARS[h2 & 0x0f] +
449
- HEX_CHARS[(h3 >>> 28) & 0x0f] +
450
- HEX_CHARS[(h3 >>> 24) & 0x0f] +
451
- HEX_CHARS[(h3 >>> 20) & 0x0f] +
452
- HEX_CHARS[(h3 >>> 16) & 0x0f] +
453
- HEX_CHARS[(h3 >>> 12) & 0x0f] +
454
- HEX_CHARS[(h3 >>> 8) & 0x0f] +
455
- HEX_CHARS[(h3 >>> 4) & 0x0f] +
456
- HEX_CHARS[h3 & 0x0f] +
457
- HEX_CHARS[(h4 >>> 28) & 0x0f] +
458
- HEX_CHARS[(h4 >>> 24) & 0x0f] +
459
- HEX_CHARS[(h4 >>> 20) & 0x0f] +
460
- HEX_CHARS[(h4 >>> 16) & 0x0f] +
461
- HEX_CHARS[(h4 >>> 12) & 0x0f] +
462
- HEX_CHARS[(h4 >>> 8) & 0x0f] +
463
- HEX_CHARS[(h4 >>> 4) & 0x0f] +
464
- HEX_CHARS[h4 & 0x0f] +
465
- HEX_CHARS[(h5 >>> 28) & 0x0f] +
466
- HEX_CHARS[(h5 >>> 24) & 0x0f] +
467
- HEX_CHARS[(h5 >>> 20) & 0x0f] +
468
- HEX_CHARS[(h5 >>> 16) & 0x0f] +
469
- HEX_CHARS[(h5 >>> 12) & 0x0f] +
470
- HEX_CHARS[(h5 >>> 8) & 0x0f] +
471
- HEX_CHARS[(h5 >>> 4) & 0x0f] +
472
- HEX_CHARS[h5 & 0x0f] +
473
- HEX_CHARS[(h6 >>> 28) & 0x0f] +
474
- HEX_CHARS[(h6 >>> 24) & 0x0f] +
475
- HEX_CHARS[(h6 >>> 20) & 0x0f] +
476
- HEX_CHARS[(h6 >>> 16) & 0x0f] +
477
- HEX_CHARS[(h6 >>> 12) & 0x0f] +
478
- HEX_CHARS[(h6 >>> 8) & 0x0f] +
479
- HEX_CHARS[(h6 >>> 4) & 0x0f] +
480
- HEX_CHARS[h6 & 0x0f];
481
- if (!this.is224) {
482
- hex +=
483
- HEX_CHARS[(h7 >>> 28) & 0x0f] +
484
- HEX_CHARS[(h7 >>> 24) & 0x0f] +
485
- HEX_CHARS[(h7 >>> 20) & 0x0f] +
486
- HEX_CHARS[(h7 >>> 16) & 0x0f] +
487
- HEX_CHARS[(h7 >>> 12) & 0x0f] +
488
- HEX_CHARS[(h7 >>> 8) & 0x0f] +
489
- HEX_CHARS[(h7 >>> 4) & 0x0f] +
490
- HEX_CHARS[h7 & 0x0f];
491
- }
492
- return hex;
493
- };
494
-
495
- Sha256.prototype.toString = Sha256.prototype.hex;
496
-
497
- Sha256.prototype.digest = function () {
498
- this.finalize();
499
-
500
- var h0 = this.h0,
501
- h1 = this.h1,
502
- h2 = this.h2,
503
- h3 = this.h3,
504
- h4 = this.h4,
505
- h5 = this.h5,
506
- h6 = this.h6,
507
- h7 = this.h7;
508
-
509
- var arr = [
510
- (h0 >>> 24) & 0xff,
511
- (h0 >>> 16) & 0xff,
512
- (h0 >>> 8) & 0xff,
513
- h0 & 0xff,
514
- (h1 >>> 24) & 0xff,
515
- (h1 >>> 16) & 0xff,
516
- (h1 >>> 8) & 0xff,
517
- h1 & 0xff,
518
- (h2 >>> 24) & 0xff,
519
- (h2 >>> 16) & 0xff,
520
- (h2 >>> 8) & 0xff,
521
- h2 & 0xff,
522
- (h3 >>> 24) & 0xff,
523
- (h3 >>> 16) & 0xff,
524
- (h3 >>> 8) & 0xff,
525
- h3 & 0xff,
526
- (h4 >>> 24) & 0xff,
527
- (h4 >>> 16) & 0xff,
528
- (h4 >>> 8) & 0xff,
529
- h4 & 0xff,
530
- (h5 >>> 24) & 0xff,
531
- (h5 >>> 16) & 0xff,
532
- (h5 >>> 8) & 0xff,
533
- h5 & 0xff,
534
- (h6 >>> 24) & 0xff,
535
- (h6 >>> 16) & 0xff,
536
- (h6 >>> 8) & 0xff,
537
- h6 & 0xff,
538
- ];
539
- if (!this.is224) {
540
- arr.push((h7 >>> 24) & 0xff, (h7 >>> 16) & 0xff, (h7 >>> 8) & 0xff, h7 & 0xff);
541
- }
542
- return arr;
543
- };
544
-
545
- Sha256.prototype.array = Sha256.prototype.digest;
546
-
547
- Sha256.prototype.arrayBuffer = function () {
548
- this.finalize();
549
-
550
- var buffer = new ArrayBuffer(this.is224 ? 28 : 32);
551
- var dataView = new DataView(buffer);
552
- dataView.setUint32(0, this.h0);
553
- dataView.setUint32(4, this.h1);
554
- dataView.setUint32(8, this.h2);
555
- dataView.setUint32(12, this.h3);
556
- dataView.setUint32(16, this.h4);
557
- dataView.setUint32(20, this.h5);
558
- dataView.setUint32(24, this.h6);
559
- if (!this.is224) {
560
- dataView.setUint32(28, this.h7);
561
- }
562
- return buffer;
563
- };
564
-
565
- function HmacSha256(key, is224, sharedMemory) {
566
- var i,
567
- type = typeof key;
568
- if (type === "string") {
569
- var bytes = [],
570
- length = key.length,
571
- index = 0,
572
- code;
573
- for (i = 0; i < length; ++i) {
574
- code = key.charCodeAt(i);
575
- if (code < 0x80) {
576
- bytes[index++] = code;
577
- } else if (code < 0x800) {
578
- bytes[index++] = 0xc0 | (code >>> 6);
579
- bytes[index++] = 0x80 | (code & 0x3f);
580
- } else if (code < 0xd800 || code >= 0xe000) {
581
- bytes[index++] = 0xe0 | (code >>> 12);
582
- bytes[index++] = 0x80 | ((code >>> 6) & 0x3f);
583
- bytes[index++] = 0x80 | (code & 0x3f);
584
- } else {
585
- code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));
586
- bytes[index++] = 0xf0 | (code >>> 18);
587
- bytes[index++] = 0x80 | ((code >>> 12) & 0x3f);
588
- bytes[index++] = 0x80 | ((code >>> 6) & 0x3f);
589
- bytes[index++] = 0x80 | (code & 0x3f);
590
- }
591
- }
592
- key = bytes;
593
- } else {
594
- if (type === "object") {
595
- if (key === null) {
596
- throw new Error(ERROR);
597
- } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {
598
- key = new Uint8Array(key);
599
- } else if (!Array.isArray(key)) {
600
- if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {
601
- throw new Error(ERROR);
602
- }
603
- }
604
- } else {
605
- throw new Error(ERROR);
606
- }
607
- }
608
-
609
- if (key.length > 64) {
610
- key = new Sha256(is224, true).update(key).array();
611
- }
612
-
613
- var oKeyPad = [],
614
- iKeyPad = [];
615
- for (i = 0; i < 64; ++i) {
616
- var b = key[i] || 0;
617
- oKeyPad[i] = 0x5c ^ b;
618
- iKeyPad[i] = 0x36 ^ b;
619
- }
620
-
621
- Sha256.call(this, is224, sharedMemory);
622
-
623
- this.update(iKeyPad);
624
- this.oKeyPad = oKeyPad;
625
- this.inner = true;
626
- this.sharedMemory = sharedMemory;
627
- }
628
-
629
- HmacSha256.prototype = new Sha256();
630
-
631
- HmacSha256.prototype.finalize = function () {
632
- Sha256.prototype.finalize.call(this);
633
- if (this.inner) {
634
- this.inner = false;
635
- var innerHash = this.array();
636
- Sha256.call(this, this.is224, this.sharedMemory);
637
- this.update(this.oKeyPad);
638
- this.update(innerHash);
639
- Sha256.prototype.finalize.call(this);
640
- }
641
- };
642
-
643
- /* 以下是内部实现需要的es模块化导出方法 */
644
- const sha256 = createMethod();
645
- const sha224 = createMethod(true);
646
- const sha256_hmac = createHmacMethod();
647
- const sha224_hmac = createHmacMethod(true);
648
-
649
- export { sha224, sha224_hmac, sha256, sha256_hmac };
@@ -1,39 +0,0 @@
1
- import { sha3_512 as sha3_512$1, sha3_384 as sha3_384$1, sha3_256 as sha3_256$1, sha3_224 as sha3_224$1 } from './sha3.mjs';
2
-
3
- /**
4
- * sha3_512 加密
5
- * @param {String} str 字符串
6
- * @returns {String} 返回加密后的字符串
7
- */
8
- function sha3_512(str) {
9
- return sha3_512$1(str);
10
- }
11
-
12
- /**
13
- * sha3_384 加密
14
- * @param {String} str 字符串
15
- * @returns {String} 返回加密后的字符串
16
- */
17
- function sha3_384(str) {
18
- return sha3_384$1(str);
19
- }
20
-
21
- /**
22
- * sha3_256 加密
23
- * @param {String} str 字符串
24
- * @returns {String} 返回加密后的字符串
25
- */
26
- function sha3_256(str) {
27
- return sha3_256$1(str);
28
- }
29
-
30
- /**
31
- * sha3_224 加密
32
- * @param {String} str 字符串
33
- * @returns {String} 返回加密后的字符串
34
- */
35
- function sha3_224(str) {
36
- return sha3_224$1(str);
37
- }
38
-
39
- export { sha3_224, sha3_256, sha3_384, sha3_512 };