@ivujs/i-utils 2.0.0 → 2.1.0

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 (214) 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/cookie/index.cjs +16 -13
  7. package/dist/cjs/crypto/base64/base64.cjs +398 -206
  8. package/dist/cjs/crypto/base64/index.cjs +58 -35
  9. package/dist/cjs/crypto/md5/index.cjs +33 -8
  10. package/dist/cjs/crypto/md5/md5.cjs +298 -844
  11. package/dist/cjs/crypto/sha256/index.cjs +95 -0
  12. package/dist/cjs/crypto/sha256/sha256.cjs +557 -0
  13. package/dist/cjs/crypto/sm3/index.cjs +27 -0
  14. package/dist/cjs/crypto/sm3/sm3.cjs +200 -0
  15. package/dist/cjs/crypto/sm4/index.cjs +101 -0
  16. package/dist/cjs/crypto/sm4/sm4.cjs +498 -0
  17. package/dist/cjs/date/index.cjs +379 -335
  18. package/dist/cjs/desensitized/index.cjs +21 -18
  19. package/dist/cjs/device/index.cjs +33 -30
  20. package/dist/cjs/dom/index.cjs +26 -23
  21. package/dist/cjs/file/index.cjs +51 -41
  22. package/dist/cjs/function/index.cjs +22 -19
  23. package/dist/cjs/id/index.cjs +6 -2
  24. package/dist/cjs/index.cjs +108 -127
  25. package/dist/cjs/keycode/index.cjs +9 -12
  26. package/dist/cjs/math/index.cjs +113 -81
  27. package/dist/cjs/number/index.cjs +10 -7
  28. package/dist/cjs/object/index.cjs +77 -30
  29. package/dist/cjs/pagination/index.cjs +25 -10
  30. package/dist/cjs/random/index.cjs +8 -5
  31. package/dist/cjs/regexp/index.cjs +23 -20
  32. package/dist/cjs/storage/index.cjs +4 -1
  33. package/dist/cjs/storage/localStorage.cjs +5 -5
  34. package/dist/cjs/storage/sessionStorage.cjs +6 -6
  35. package/dist/cjs/string/index.cjs +66 -63
  36. package/dist/cjs/url/index.cjs +83 -80
  37. package/dist/cjs/validate/index.cjs +122 -106
  38. package/dist/es/ID-card/index.d.ts +19 -14
  39. package/dist/es/ID-card/index.mjs +22 -14
  40. package/dist/es/array/index.d.ts +56 -50
  41. package/dist/es/array/index.mjs +40 -34
  42. package/dist/es/clipboard/index.d.ts +10 -7
  43. package/dist/es/clipboard/index.mjs +14 -10
  44. package/dist/es/color/index.d.ts +28 -25
  45. package/dist/es/color/index.mjs +73 -59
  46. package/dist/es/constants/date.d.ts +4 -174
  47. package/dist/es/constants/id-card.d.ts +4 -43
  48. package/dist/es/constants/index.d.ts +11 -7
  49. package/dist/es/constants/keycode.d.ts +1 -103
  50. package/dist/es/constants/lang.d.ts +4 -4
  51. package/dist/es/constants/math.d.ts +4 -4
  52. package/dist/es/constants/regexp.d.ts +4 -24
  53. package/dist/es/constants/sort.d.ts +4 -5
  54. package/dist/es/cookie/index.d.ts +13 -13
  55. package/dist/es/cookie/index.mjs +16 -13
  56. package/dist/es/crypto/base64/base64.d.ts +8 -5
  57. package/dist/es/crypto/base64/base64.mjs +393 -204
  58. package/dist/es/crypto/base64/index.d.ts +41 -24
  59. package/dist/es/crypto/base64/index.mjs +53 -32
  60. package/dist/es/crypto/index.d.ts +8 -8
  61. package/dist/es/crypto/md5/index.d.ts +20 -7
  62. package/dist/es/crypto/md5/index.mjs +32 -9
  63. package/dist/es/crypto/md5/md5.d.ts +9 -142
  64. package/dist/es/crypto/md5/md5.mjs +299 -844
  65. package/dist/es/crypto/sha256/index.d.ts +52 -0
  66. package/dist/es/crypto/sha256/index.mjs +86 -0
  67. package/dist/es/crypto/sha256/sha256.d.ts +82 -0
  68. package/dist/es/crypto/sha256/sha256.mjs +548 -0
  69. package/dist/es/crypto/sm3/index.d.ts +13 -0
  70. package/dist/es/crypto/sm3/index.mjs +24 -0
  71. package/dist/es/crypto/sm3/sm3.d.ts +3 -0
  72. package/dist/es/crypto/sm3/sm3.mjs +197 -0
  73. package/dist/es/crypto/sm4/index.d.ts +56 -0
  74. package/dist/es/crypto/sm4/index.mjs +95 -0
  75. package/dist/es/crypto/sm4/sm4.d.ts +48 -0
  76. package/dist/es/crypto/sm4/sm4.mjs +490 -0
  77. package/dist/es/date/index.d.ts +236 -175
  78. package/dist/es/date/index.mjs +378 -335
  79. package/dist/es/desensitized/index.d.ts +26 -23
  80. package/dist/es/desensitized/index.mjs +21 -18
  81. package/dist/es/device/index.d.ts +31 -25
  82. package/dist/es/device/index.mjs +33 -30
  83. package/dist/es/dom/index.d.ts +32 -29
  84. package/dist/es/dom/index.mjs +26 -23
  85. package/dist/es/file/index.d.ts +30 -30
  86. package/dist/es/file/index.mjs +51 -41
  87. package/dist/es/function/index.d.ts +10 -7
  88. package/dist/es/function/index.mjs +22 -19
  89. package/dist/es/id/index.d.ts +3 -0
  90. package/dist/es/id/index.mjs +6 -2
  91. package/dist/es/index.d.ts +24 -25
  92. package/dist/es/index.mjs +6 -23
  93. package/dist/es/keycode/index.d.ts +6 -6
  94. package/dist/es/keycode/index.mjs +9 -12
  95. package/dist/es/math/index.d.ts +37 -37
  96. package/dist/es/math/index.mjs +113 -81
  97. package/dist/es/number/index.d.ts +7 -7
  98. package/dist/es/number/index.mjs +10 -7
  99. package/dist/es/object/index.d.ts +20 -19
  100. package/dist/es/object/index.mjs +77 -30
  101. package/dist/es/pagination/index.d.ts +39 -6
  102. package/dist/es/pagination/index.mjs +25 -10
  103. package/dist/es/random/index.d.ts +10 -7
  104. package/dist/es/random/index.mjs +8 -5
  105. package/dist/es/regexp/index.d.ts +30 -30
  106. package/dist/es/regexp/index.mjs +23 -20
  107. package/dist/es/storage/index.d.ts +10 -4
  108. package/dist/es/storage/index.mjs +4 -1
  109. package/dist/es/storage/localStorage.d.ts +9 -9
  110. package/dist/es/storage/localStorage.mjs +5 -5
  111. package/dist/es/storage/sessionStorage.d.ts +9 -9
  112. package/dist/es/storage/sessionStorage.mjs +6 -6
  113. package/dist/es/string/index.d.ts +62 -59
  114. package/dist/es/string/index.mjs +66 -63
  115. package/dist/es/url/index.d.ts +65 -65
  116. package/dist/es/url/index.mjs +83 -80
  117. package/dist/es/validate/index.d.ts +83 -80
  118. package/dist/es/validate/index.mjs +122 -106
  119. package/dist/index.d.ts +2355 -2803
  120. package/dist/lib/index.full.umd.js +3297 -9474
  121. package/dist/lib/index.full.umd.min.js +2 -64
  122. package/dist/lib/index.full.umd.min.js.map +1 -1
  123. package/dist/resolver/auto-imports.cjs +38 -31
  124. package/dist/resolver/auto-imports.mjs +38 -31
  125. package/dist/resolver/index.cjs +1 -2
  126. package/dist/resolver/index.d.ts +1 -1
  127. package/dist/resolver/index.mjs +1 -2
  128. package/package.json +96 -90
  129. package/dist/cjs/crypto/aes/aes.cjs +0 -480
  130. package/dist/cjs/crypto/aes/index.cjs +0 -27
  131. package/dist/cjs/crypto/base32/base32.cjs +0 -357
  132. package/dist/cjs/crypto/base32/index.cjs +0 -41
  133. package/dist/cjs/crypto/des/des.cjs +0 -257
  134. package/dist/cjs/crypto/des/index.cjs +0 -28
  135. package/dist/cjs/crypto/sha/sha1/index.cjs +0 -24
  136. package/dist/cjs/crypto/sha/sha1/sha1.cjs +0 -529
  137. package/dist/cjs/crypto/sha/sha256/index.cjs +0 -43
  138. package/dist/cjs/crypto/sha/sha256/sha256.cjs +0 -595
  139. package/dist/cjs/crypto/sha/sha3/index.cjs +0 -41
  140. package/dist/cjs/crypto/sha/sha3/sha3.cjs +0 -624
  141. package/dist/cjs/crypto/sha/sha512/index.cjs +0 -81
  142. package/dist/cjs/crypto/sha/sha512/sha512.cjs +0 -950
  143. package/dist/cjs/crypto/sm/lib/asn1.cjs +0 -149
  144. package/dist/cjs/crypto/sm/lib/ec.cjs +0 -315
  145. package/dist/cjs/crypto/sm/lib/jsbn.cjs +0 -1608
  146. package/dist/cjs/crypto/sm/lib/sm3.cjs +0 -158
  147. package/dist/cjs/crypto/sm/lib/utils.cjs +0 -170
  148. package/dist/cjs/crypto/sm/sm2/index.cjs +0 -112
  149. package/dist/cjs/crypto/sm/sm2/sm2.cjs +0 -231
  150. package/dist/cjs/crypto/sm/sm3/index.cjs +0 -15
  151. package/dist/cjs/crypto/sm/sm3/sm3.cjs +0 -93
  152. package/dist/cjs/crypto/sm/sm4/index.cjs +0 -27
  153. package/dist/cjs/crypto/sm/sm4/sm4.cjs +0 -327
  154. package/dist/cjs/crypto/tea/index.cjs +0 -25
  155. package/dist/cjs/crypto/tea/tea.cjs +0 -187
  156. package/dist/cjs/weapp/index.cjs +0 -142
  157. package/dist/es/crypto/aes/aes.d.ts +0 -156
  158. package/dist/es/crypto/aes/aes.mjs +0 -478
  159. package/dist/es/crypto/aes/index.d.ts +0 -16
  160. package/dist/es/crypto/aes/index.mjs +0 -24
  161. package/dist/es/crypto/base32/base32.d.ts +0 -3
  162. package/dist/es/crypto/base32/base32.mjs +0 -353
  163. package/dist/es/crypto/base32/index.d.ts +0 -24
  164. package/dist/es/crypto/base32/index.mjs +0 -36
  165. package/dist/es/crypto/des/des.d.ts +0 -52
  166. package/dist/es/crypto/des/des.mjs +0 -255
  167. package/dist/es/crypto/des/index.d.ts +0 -14
  168. package/dist/es/crypto/des/index.mjs +0 -25
  169. package/dist/es/crypto/sha/index.d.ts +0 -4
  170. package/dist/es/crypto/sha/sha1/index.d.ts +0 -13
  171. package/dist/es/crypto/sha/sha1/index.mjs +0 -21
  172. package/dist/es/crypto/sha/sha1/sha1.d.ts +0 -2
  173. package/dist/es/crypto/sha/sha1/sha1.mjs +0 -526
  174. package/dist/es/crypto/sha/sha256/index.d.ts +0 -26
  175. package/dist/es/crypto/sha/sha256/index.mjs +0 -38
  176. package/dist/es/crypto/sha/sha256/sha256.d.ts +0 -4
  177. package/dist/es/crypto/sha/sha256/sha256.mjs +0 -590
  178. package/dist/es/crypto/sha/sha3/index.d.ts +0 -24
  179. package/dist/es/crypto/sha/sha3/index.mjs +0 -36
  180. package/dist/es/crypto/sha/sha3/sha3.d.ts +0 -4
  181. package/dist/es/crypto/sha/sha3/sha3.mjs +0 -619
  182. package/dist/es/crypto/sha/sha512/index.d.ts +0 -52
  183. package/dist/es/crypto/sha/sha512/index.mjs +0 -72
  184. package/dist/es/crypto/sha/sha512/sha512.d.ts +0 -8
  185. package/dist/es/crypto/sha/sha512/sha512.mjs +0 -941
  186. package/dist/es/crypto/sm/index.d.ts +0 -3
  187. package/dist/es/crypto/sm/lib/asn1.d.ts +0 -12
  188. package/dist/es/crypto/sm/lib/asn1.mjs +0 -146
  189. package/dist/es/crypto/sm/lib/ec.d.ts +0 -126
  190. package/dist/es/crypto/sm/lib/ec.mjs +0 -312
  191. package/dist/es/crypto/sm/lib/jsbn.d.ts +0 -198
  192. package/dist/es/crypto/sm/lib/jsbn.mjs +0 -1605
  193. package/dist/es/crypto/sm/lib/sm3.d.ts +0 -5
  194. package/dist/es/crypto/sm/lib/sm3.mjs +0 -155
  195. package/dist/es/crypto/sm/lib/utils.d.ts +0 -53
  196. package/dist/es/crypto/sm/lib/utils.mjs +0 -158
  197. package/dist/es/crypto/sm/sm2/index.d.ts +0 -71
  198. package/dist/es/crypto/sm/sm2/index.mjs +0 -101
  199. package/dist/es/crypto/sm/sm2/sm2.d.ts +0 -34
  200. package/dist/es/crypto/sm/sm2/sm2.mjs +0 -220
  201. package/dist/es/crypto/sm/sm3/index.d.ts +0 -7
  202. package/dist/es/crypto/sm/sm3/index.mjs +0 -13
  203. package/dist/es/crypto/sm/sm3/sm3.d.ts +0 -1
  204. package/dist/es/crypto/sm/sm3/sm3.mjs +0 -91
  205. package/dist/es/crypto/sm/sm4/index.d.ts +0 -16
  206. package/dist/es/crypto/sm/sm4/index.mjs +0 -24
  207. package/dist/es/crypto/sm/sm4/sm4.d.ts +0 -2
  208. package/dist/es/crypto/sm/sm4/sm4.mjs +0 -324
  209. package/dist/es/crypto/tea/index.d.ts +0 -14
  210. package/dist/es/crypto/tea/index.mjs +0 -22
  211. package/dist/es/crypto/tea/tea.d.ts +0 -69
  212. package/dist/es/crypto/tea/tea.mjs +0 -185
  213. package/dist/es/weapp/index.d.ts +0 -57
  214. package/dist/es/weapp/index.mjs +0 -131
@@ -1,590 +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
- var ERROR = "input is invalid type";
11
- var WINDOW = typeof window === "object";
12
- var root = WINDOW ? window : {};
13
- if (root.JS_SHA256_NO_WINDOW) {
14
- WINDOW = false;
15
- }
16
- var WEB_WORKER = !WINDOW && typeof self === "object";
17
- var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node;
18
- if (NODE_JS) {
19
- root = global;
20
- }
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
- var blocks = [];
40
- if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {
41
- Array.isArray = function (obj) {
42
- return Object.prototype.toString.call(obj) === "[object Array]";
43
- };
44
- }
45
- if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {
46
- ArrayBuffer.isView = function (obj) {
47
- return typeof obj === "object" && obj.buffer && obj.buffer.constructor === ArrayBuffer;
48
- };
49
- }
50
- var createOutputMethod = function (outputType, is224) {
51
- return function (message) {
52
- return new Sha256(is224, true).update(message)[outputType]();
53
- };
54
- };
55
- var createMethod = function (is224) {
56
- var method = createOutputMethod("hex", is224);
57
- if (NODE_JS) {
58
- method = nodeWrap(method, is224);
59
- }
60
- method.create = function () {
61
- return new Sha256(is224);
62
- };
63
- method.update = function (message) {
64
- return method.create().update(message);
65
- };
66
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
67
- var type = OUTPUT_TYPES[i];
68
- method[type] = createOutputMethod(type, is224);
69
- }
70
- return method;
71
- };
72
- var nodeWrap = function (method, is224) {
73
- var crypto = require("crypto");
74
- var Buffer = require("buffer").Buffer;
75
- var algorithm = is224 ? "sha224" : "sha256";
76
- var bufferFrom;
77
- if (Buffer.from && !root.JS_SHA256_NO_BUFFER_FROM) {
78
- bufferFrom = Buffer.from;
79
- }
80
- else {
81
- bufferFrom = function (message) {
82
- return new Buffer(message);
83
- };
84
- }
85
- var nodeMethod = function (message) {
86
- if (typeof message === "string") {
87
- return crypto.createHash(algorithm).update(message, "utf8").digest("hex");
88
- }
89
- else {
90
- if (message === null || message === undefined) {
91
- throw new Error(ERROR);
92
- }
93
- else if (message.constructor === ArrayBuffer) {
94
- message = new Uint8Array(message);
95
- }
96
- }
97
- if (Array.isArray(message) || ArrayBuffer.isView(message) || message.constructor === Buffer) {
98
- return crypto.createHash(algorithm).update(bufferFrom(message)).digest("hex");
99
- }
100
- else {
101
- return method(message);
102
- }
103
- };
104
- return nodeMethod;
105
- };
106
- var createHmacOutputMethod = function (outputType, is224) {
107
- return function (key, message) {
108
- return new HmacSha256(key, is224, true).update(message)[outputType]();
109
- };
110
- };
111
- var createHmacMethod = function (is224) {
112
- var method = createHmacOutputMethod("hex", is224);
113
- method.create = function (key) {
114
- return new HmacSha256(key, is224);
115
- };
116
- method.update = function (key, message) {
117
- return method.create(key).update(message);
118
- };
119
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
120
- var type = OUTPUT_TYPES[i];
121
- method[type] = createHmacOutputMethod(type, is224);
122
- }
123
- return method;
124
- };
125
- function Sha256(is224, sharedMemory) {
126
- if (sharedMemory) {
127
- blocks[0] =
128
- blocks[16] =
129
- blocks[1] =
130
- blocks[2] =
131
- blocks[3] =
132
- blocks[4] =
133
- blocks[5] =
134
- blocks[6] =
135
- blocks[7] =
136
- blocks[8] =
137
- blocks[9] =
138
- blocks[10] =
139
- blocks[11] =
140
- blocks[12] =
141
- blocks[13] =
142
- blocks[14] =
143
- blocks[15] =
144
- 0;
145
- this.blocks = blocks;
146
- }
147
- else {
148
- this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
149
- }
150
- if (is224) {
151
- this.h0 = 0xc1059ed8;
152
- this.h1 = 0x367cd507;
153
- this.h2 = 0x3070dd17;
154
- this.h3 = 0xf70e5939;
155
- this.h4 = 0xffc00b31;
156
- this.h5 = 0x68581511;
157
- this.h6 = 0x64f98fa7;
158
- this.h7 = 0xbefa4fa4;
159
- }
160
- else {
161
- // 256
162
- this.h0 = 0x6a09e667;
163
- this.h1 = 0xbb67ae85;
164
- this.h2 = 0x3c6ef372;
165
- this.h3 = 0xa54ff53a;
166
- this.h4 = 0x510e527f;
167
- this.h5 = 0x9b05688c;
168
- this.h6 = 0x1f83d9ab;
169
- this.h7 = 0x5be0cd19;
170
- }
171
- this.block = this.start = this.bytes = this.hBytes = 0;
172
- this.finalized = this.hashed = false;
173
- this.first = true;
174
- this.is224 = is224;
175
- }
176
- Sha256.prototype.update = function (message) {
177
- if (this.finalized) {
178
- return;
179
- }
180
- var notString, type = typeof message;
181
- if (type !== "string") {
182
- if (type === "object") {
183
- if (message === null) {
184
- throw new Error(ERROR);
185
- }
186
- else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
187
- message = new Uint8Array(message);
188
- }
189
- else if (!Array.isArray(message)) {
190
- if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {
191
- throw new Error(ERROR);
192
- }
193
- }
194
- }
195
- else {
196
- throw new Error(ERROR);
197
- }
198
- notString = true;
199
- }
200
- var code, index = 0, i, length = message.length, blocks = this.blocks;
201
- while (index < length) {
202
- if (this.hashed) {
203
- this.hashed = false;
204
- blocks[0] = this.block;
205
- this.block =
206
- blocks[16] =
207
- blocks[1] =
208
- blocks[2] =
209
- blocks[3] =
210
- blocks[4] =
211
- blocks[5] =
212
- blocks[6] =
213
- blocks[7] =
214
- blocks[8] =
215
- blocks[9] =
216
- blocks[10] =
217
- blocks[11] =
218
- blocks[12] =
219
- blocks[13] =
220
- blocks[14] =
221
- blocks[15] =
222
- 0;
223
- }
224
- if (notString) {
225
- for (i = this.start; index < length && i < 64; ++index) {
226
- blocks[i >>> 2] |= message[index] << SHIFT[i++ & 3];
227
- }
228
- }
229
- else {
230
- for (i = this.start; index < length && i < 64; ++index) {
231
- code = message.charCodeAt(index);
232
- if (code < 0x80) {
233
- blocks[i >>> 2] |= code << SHIFT[i++ & 3];
234
- }
235
- else if (code < 0x800) {
236
- blocks[i >>> 2] |= (0xc0 | (code >>> 6)) << SHIFT[i++ & 3];
237
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
238
- }
239
- else if (code < 0xd800 || code >= 0xe000) {
240
- blocks[i >>> 2] |= (0xe0 | (code >>> 12)) << SHIFT[i++ & 3];
241
- blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];
242
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
243
- }
244
- else {
245
- code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
246
- blocks[i >>> 2] |= (0xf0 | (code >>> 18)) << SHIFT[i++ & 3];
247
- blocks[i >>> 2] |= (0x80 | ((code >>> 12) & 0x3f)) << SHIFT[i++ & 3];
248
- blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];
249
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
250
- }
251
- }
252
- }
253
- this.lastByteIndex = i;
254
- this.bytes += i - this.start;
255
- if (i >= 64) {
256
- this.block = blocks[16];
257
- this.start = i - 64;
258
- this.hash();
259
- this.hashed = true;
260
- }
261
- else {
262
- this.start = i;
263
- }
264
- }
265
- if (this.bytes > 4294967295) {
266
- this.hBytes += (this.bytes / 4294967296) << 0;
267
- this.bytes = this.bytes % 4294967296;
268
- }
269
- return this;
270
- };
271
- Sha256.prototype.finalize = function () {
272
- if (this.finalized) {
273
- return;
274
- }
275
- this.finalized = true;
276
- var blocks = this.blocks, i = this.lastByteIndex;
277
- blocks[16] = this.block;
278
- blocks[i >>> 2] |= EXTRA[i & 3];
279
- this.block = blocks[16];
280
- if (i >= 56) {
281
- if (!this.hashed) {
282
- this.hash();
283
- }
284
- blocks[0] = this.block;
285
- blocks[16] =
286
- blocks[1] =
287
- blocks[2] =
288
- blocks[3] =
289
- blocks[4] =
290
- blocks[5] =
291
- blocks[6] =
292
- blocks[7] =
293
- blocks[8] =
294
- blocks[9] =
295
- blocks[10] =
296
- blocks[11] =
297
- blocks[12] =
298
- blocks[13] =
299
- blocks[14] =
300
- blocks[15] =
301
- 0;
302
- }
303
- blocks[14] = (this.hBytes << 3) | (this.bytes >>> 29);
304
- blocks[15] = this.bytes << 3;
305
- this.hash();
306
- };
307
- Sha256.prototype.hash = function () {
308
- var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6, h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;
309
- for (j = 16; j < 64; ++j) {
310
- // rightrotate
311
- t1 = blocks[j - 15];
312
- s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);
313
- t1 = blocks[j - 2];
314
- s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);
315
- blocks[j] = (blocks[j - 16] + s0 + blocks[j - 7] + s1) << 0;
316
- }
317
- bc = b & c;
318
- for (j = 0; j < 64; j += 4) {
319
- if (this.first) {
320
- if (this.is224) {
321
- ab = 300032;
322
- t1 = blocks[0] - 1413257819;
323
- h = (t1 - 150054599) << 0;
324
- d = (t1 + 24177077) << 0;
325
- }
326
- else {
327
- ab = 704751109;
328
- t1 = blocks[0] - 210244248;
329
- h = (t1 - 1521486534) << 0;
330
- d = (t1 + 143694565) << 0;
331
- }
332
- this.first = false;
333
- }
334
- else {
335
- s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));
336
- s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));
337
- ab = a & b;
338
- maj = ab ^ (a & c) ^ bc;
339
- ch = (e & f) ^ (~e & g);
340
- t1 = h + s1 + ch + K[j] + blocks[j];
341
- t2 = s0 + maj;
342
- h = (d + t1) << 0;
343
- d = (t1 + t2) << 0;
344
- }
345
- s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));
346
- s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));
347
- da = d & a;
348
- maj = da ^ (d & b) ^ ab;
349
- ch = (h & e) ^ (~h & f);
350
- t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];
351
- t2 = s0 + maj;
352
- g = (c + t1) << 0;
353
- c = (t1 + t2) << 0;
354
- s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));
355
- s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));
356
- cd = c & d;
357
- maj = cd ^ (c & a) ^ da;
358
- ch = (g & h) ^ (~g & e);
359
- t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];
360
- t2 = s0 + maj;
361
- f = (b + t1) << 0;
362
- b = (t1 + t2) << 0;
363
- s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));
364
- s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));
365
- bc = b & c;
366
- maj = bc ^ (b & d) ^ cd;
367
- ch = (f & g) ^ (~f & h);
368
- t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];
369
- t2 = s0 + maj;
370
- e = (a + t1) << 0;
371
- a = (t1 + t2) << 0;
372
- this.chromeBugWorkAround = true;
373
- }
374
- this.h0 = (this.h0 + a) << 0;
375
- this.h1 = (this.h1 + b) << 0;
376
- this.h2 = (this.h2 + c) << 0;
377
- this.h3 = (this.h3 + d) << 0;
378
- this.h4 = (this.h4 + e) << 0;
379
- this.h5 = (this.h5 + f) << 0;
380
- this.h6 = (this.h6 + g) << 0;
381
- this.h7 = (this.h7 + h) << 0;
382
- };
383
- Sha256.prototype.hex = function () {
384
- this.finalize();
385
- var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5, h6 = this.h6, h7 = this.h7;
386
- var hex = HEX_CHARS[(h0 >>> 28) & 0x0f] +
387
- HEX_CHARS[(h0 >>> 24) & 0x0f] +
388
- HEX_CHARS[(h0 >>> 20) & 0x0f] +
389
- HEX_CHARS[(h0 >>> 16) & 0x0f] +
390
- HEX_CHARS[(h0 >>> 12) & 0x0f] +
391
- HEX_CHARS[(h0 >>> 8) & 0x0f] +
392
- HEX_CHARS[(h0 >>> 4) & 0x0f] +
393
- HEX_CHARS[h0 & 0x0f] +
394
- HEX_CHARS[(h1 >>> 28) & 0x0f] +
395
- HEX_CHARS[(h1 >>> 24) & 0x0f] +
396
- HEX_CHARS[(h1 >>> 20) & 0x0f] +
397
- HEX_CHARS[(h1 >>> 16) & 0x0f] +
398
- HEX_CHARS[(h1 >>> 12) & 0x0f] +
399
- HEX_CHARS[(h1 >>> 8) & 0x0f] +
400
- HEX_CHARS[(h1 >>> 4) & 0x0f] +
401
- HEX_CHARS[h1 & 0x0f] +
402
- HEX_CHARS[(h2 >>> 28) & 0x0f] +
403
- HEX_CHARS[(h2 >>> 24) & 0x0f] +
404
- HEX_CHARS[(h2 >>> 20) & 0x0f] +
405
- HEX_CHARS[(h2 >>> 16) & 0x0f] +
406
- HEX_CHARS[(h2 >>> 12) & 0x0f] +
407
- HEX_CHARS[(h2 >>> 8) & 0x0f] +
408
- HEX_CHARS[(h2 >>> 4) & 0x0f] +
409
- HEX_CHARS[h2 & 0x0f] +
410
- HEX_CHARS[(h3 >>> 28) & 0x0f] +
411
- HEX_CHARS[(h3 >>> 24) & 0x0f] +
412
- HEX_CHARS[(h3 >>> 20) & 0x0f] +
413
- HEX_CHARS[(h3 >>> 16) & 0x0f] +
414
- HEX_CHARS[(h3 >>> 12) & 0x0f] +
415
- HEX_CHARS[(h3 >>> 8) & 0x0f] +
416
- HEX_CHARS[(h3 >>> 4) & 0x0f] +
417
- HEX_CHARS[h3 & 0x0f] +
418
- HEX_CHARS[(h4 >>> 28) & 0x0f] +
419
- HEX_CHARS[(h4 >>> 24) & 0x0f] +
420
- HEX_CHARS[(h4 >>> 20) & 0x0f] +
421
- HEX_CHARS[(h4 >>> 16) & 0x0f] +
422
- HEX_CHARS[(h4 >>> 12) & 0x0f] +
423
- HEX_CHARS[(h4 >>> 8) & 0x0f] +
424
- HEX_CHARS[(h4 >>> 4) & 0x0f] +
425
- HEX_CHARS[h4 & 0x0f] +
426
- HEX_CHARS[(h5 >>> 28) & 0x0f] +
427
- HEX_CHARS[(h5 >>> 24) & 0x0f] +
428
- HEX_CHARS[(h5 >>> 20) & 0x0f] +
429
- HEX_CHARS[(h5 >>> 16) & 0x0f] +
430
- HEX_CHARS[(h5 >>> 12) & 0x0f] +
431
- HEX_CHARS[(h5 >>> 8) & 0x0f] +
432
- HEX_CHARS[(h5 >>> 4) & 0x0f] +
433
- HEX_CHARS[h5 & 0x0f] +
434
- HEX_CHARS[(h6 >>> 28) & 0x0f] +
435
- HEX_CHARS[(h6 >>> 24) & 0x0f] +
436
- HEX_CHARS[(h6 >>> 20) & 0x0f] +
437
- HEX_CHARS[(h6 >>> 16) & 0x0f] +
438
- HEX_CHARS[(h6 >>> 12) & 0x0f] +
439
- HEX_CHARS[(h6 >>> 8) & 0x0f] +
440
- HEX_CHARS[(h6 >>> 4) & 0x0f] +
441
- HEX_CHARS[h6 & 0x0f];
442
- if (!this.is224) {
443
- hex +=
444
- HEX_CHARS[(h7 >>> 28) & 0x0f] +
445
- HEX_CHARS[(h7 >>> 24) & 0x0f] +
446
- HEX_CHARS[(h7 >>> 20) & 0x0f] +
447
- HEX_CHARS[(h7 >>> 16) & 0x0f] +
448
- HEX_CHARS[(h7 >>> 12) & 0x0f] +
449
- HEX_CHARS[(h7 >>> 8) & 0x0f] +
450
- HEX_CHARS[(h7 >>> 4) & 0x0f] +
451
- HEX_CHARS[h7 & 0x0f];
452
- }
453
- return hex;
454
- };
455
- Sha256.prototype.toString = Sha256.prototype.hex;
456
- Sha256.prototype.digest = function () {
457
- this.finalize();
458
- var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5, h6 = this.h6, h7 = this.h7;
459
- var arr = [
460
- (h0 >>> 24) & 0xff,
461
- (h0 >>> 16) & 0xff,
462
- (h0 >>> 8) & 0xff,
463
- h0 & 0xff,
464
- (h1 >>> 24) & 0xff,
465
- (h1 >>> 16) & 0xff,
466
- (h1 >>> 8) & 0xff,
467
- h1 & 0xff,
468
- (h2 >>> 24) & 0xff,
469
- (h2 >>> 16) & 0xff,
470
- (h2 >>> 8) & 0xff,
471
- h2 & 0xff,
472
- (h3 >>> 24) & 0xff,
473
- (h3 >>> 16) & 0xff,
474
- (h3 >>> 8) & 0xff,
475
- h3 & 0xff,
476
- (h4 >>> 24) & 0xff,
477
- (h4 >>> 16) & 0xff,
478
- (h4 >>> 8) & 0xff,
479
- h4 & 0xff,
480
- (h5 >>> 24) & 0xff,
481
- (h5 >>> 16) & 0xff,
482
- (h5 >>> 8) & 0xff,
483
- h5 & 0xff,
484
- (h6 >>> 24) & 0xff,
485
- (h6 >>> 16) & 0xff,
486
- (h6 >>> 8) & 0xff,
487
- h6 & 0xff,
488
- ];
489
- if (!this.is224) {
490
- arr.push((h7 >>> 24) & 0xff, (h7 >>> 16) & 0xff, (h7 >>> 8) & 0xff, h7 & 0xff);
491
- }
492
- return arr;
493
- };
494
- Sha256.prototype.array = Sha256.prototype.digest;
495
- Sha256.prototype.arrayBuffer = function () {
496
- this.finalize();
497
- var buffer = new ArrayBuffer(this.is224 ? 28 : 32);
498
- var dataView = new DataView(buffer);
499
- dataView.setUint32(0, this.h0);
500
- dataView.setUint32(4, this.h1);
501
- dataView.setUint32(8, this.h2);
502
- dataView.setUint32(12, this.h3);
503
- dataView.setUint32(16, this.h4);
504
- dataView.setUint32(20, this.h5);
505
- dataView.setUint32(24, this.h6);
506
- if (!this.is224) {
507
- dataView.setUint32(28, this.h7);
508
- }
509
- return buffer;
510
- };
511
- function HmacSha256(key, is224, sharedMemory) {
512
- var i, type = typeof key;
513
- if (type === "string") {
514
- var bytes = [], length = key.length, index = 0, code;
515
- for (i = 0; i < length; ++i) {
516
- code = key.charCodeAt(i);
517
- if (code < 0x80) {
518
- bytes[index++] = code;
519
- }
520
- else if (code < 0x800) {
521
- bytes[index++] = 0xc0 | (code >>> 6);
522
- bytes[index++] = 0x80 | (code & 0x3f);
523
- }
524
- else if (code < 0xd800 || code >= 0xe000) {
525
- bytes[index++] = 0xe0 | (code >>> 12);
526
- bytes[index++] = 0x80 | ((code >>> 6) & 0x3f);
527
- bytes[index++] = 0x80 | (code & 0x3f);
528
- }
529
- else {
530
- code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));
531
- bytes[index++] = 0xf0 | (code >>> 18);
532
- bytes[index++] = 0x80 | ((code >>> 12) & 0x3f);
533
- bytes[index++] = 0x80 | ((code >>> 6) & 0x3f);
534
- bytes[index++] = 0x80 | (code & 0x3f);
535
- }
536
- }
537
- key = bytes;
538
- }
539
- else {
540
- if (type === "object") {
541
- if (key === null) {
542
- throw new Error(ERROR);
543
- }
544
- else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {
545
- key = new Uint8Array(key);
546
- }
547
- else if (!Array.isArray(key)) {
548
- if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {
549
- throw new Error(ERROR);
550
- }
551
- }
552
- }
553
- else {
554
- throw new Error(ERROR);
555
- }
556
- }
557
- if (key.length > 64) {
558
- key = new Sha256(is224, true).update(key).array();
559
- }
560
- var oKeyPad = [], iKeyPad = [];
561
- for (i = 0; i < 64; ++i) {
562
- var b = key[i] || 0;
563
- oKeyPad[i] = 0x5c ^ b;
564
- iKeyPad[i] = 0x36 ^ b;
565
- }
566
- Sha256.call(this, is224, sharedMemory);
567
- this.update(iKeyPad);
568
- this.oKeyPad = oKeyPad;
569
- this.inner = true;
570
- this.sharedMemory = sharedMemory;
571
- }
572
- HmacSha256.prototype = new Sha256();
573
- HmacSha256.prototype.finalize = function () {
574
- Sha256.prototype.finalize.call(this);
575
- if (this.inner) {
576
- this.inner = false;
577
- var innerHash = this.array();
578
- Sha256.call(this, this.is224, this.sharedMemory);
579
- this.update(this.oKeyPad);
580
- this.update(innerHash);
581
- Sha256.prototype.finalize.call(this);
582
- }
583
- };
584
- /* 以下是内部实现需要的es模块化导出方法 */
585
- const sha256 = createMethod();
586
- const sha224 = createMethod(true);
587
- const sha256_hmac = createHmacMethod();
588
- const sha224_hmac = createHmacMethod(true);
589
-
590
- export { sha224, sha224_hmac, sha256, sha256_hmac };
@@ -1,24 +0,0 @@
1
- /**
2
- * sha3_512 加密
3
- * @param {String} str 字符串
4
- * @returns {String} 返回加密后的字符串
5
- */
6
- export function sha3_512(str: string): string;
7
- /**
8
- * sha3_384 加密
9
- * @param {String} str 字符串
10
- * @returns {String} 返回加密后的字符串
11
- */
12
- export function sha3_384(str: string): string;
13
- /**
14
- * sha3_256 加密
15
- * @param {String} str 字符串
16
- * @returns {String} 返回加密后的字符串
17
- */
18
- export function sha3_256(str: string): string;
19
- /**
20
- * sha3_224 加密
21
- * @param {String} str 字符串
22
- * @returns {String} 返回加密后的字符串
23
- */
24
- export function sha3_224(str: string): string;
@@ -1,36 +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
- * sha3_384 加密
13
- * @param {String} str 字符串
14
- * @returns {String} 返回加密后的字符串
15
- */
16
- function sha3_384(str) {
17
- return sha3_384$1(str);
18
- }
19
- /**
20
- * sha3_256 加密
21
- * @param {String} str 字符串
22
- * @returns {String} 返回加密后的字符串
23
- */
24
- function sha3_256(str) {
25
- return sha3_256$1(str);
26
- }
27
- /**
28
- * sha3_224 加密
29
- * @param {String} str 字符串
30
- * @returns {String} 返回加密后的字符串
31
- */
32
- function sha3_224(str) {
33
- return sha3_224$1(str);
34
- }
35
-
36
- export { sha3_224, sha3_256, sha3_384, sha3_512 };
@@ -1,4 +0,0 @@
1
- export const sha3_512: any;
2
- export const sha3_384: any;
3
- export const sha3_256: any;
4
- export const sha3_224: any;