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