@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,526 +0,0 @@
1
- /*
2
- * [js-sha1]{@link https://github.com/emn178/js-sha1}
3
- *
4
- * @version 0.7.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 INPUT_ERROR = "input is invalid type";
11
- var FINALIZE_ERROR = "finalize already called";
12
- var WINDOW = typeof window === "object";
13
- var root = WINDOW ? window : {};
14
- if (root.JS_SHA1_NO_WINDOW) {
15
- WINDOW = false;
16
- }
17
- var WEB_WORKER = !WINDOW && typeof self === "object";
18
- var NODE_JS = !root.JS_SHA1_NO_NODE_JS && typeof process === "object" && process.versions && process.versions.node;
19
- if (NODE_JS) {
20
- root = global;
21
- }
22
- else if (WEB_WORKER) {
23
- root = self;
24
- }
25
- var ARRAY_BUFFER = !root.JS_SHA1_NO_ARRAY_BUFFER && typeof ArrayBuffer !== "undefined";
26
- var HEX_CHARS = "0123456789abcdef".split("");
27
- var EXTRA = [-2147483648, 8388608, 32768, 128];
28
- var SHIFT = [24, 16, 8, 0];
29
- var OUTPUT_TYPES = ["hex", "array", "digest", "arrayBuffer"];
30
- var blocks = [];
31
- var isArray = Array.isArray;
32
- if (root.JS_SHA1_NO_NODE_JS || !isArray) {
33
- isArray = function (obj) {
34
- return Object.prototype.toString.call(obj) === "[object Array]";
35
- };
36
- }
37
- var isView = ArrayBuffer.isView;
38
- if (ARRAY_BUFFER && (root.JS_SHA1_NO_ARRAY_BUFFER_IS_VIEW || !isView)) {
39
- isView = function (obj) {
40
- return typeof obj === "object" && obj.buffer && obj.buffer.constructor === ArrayBuffer;
41
- };
42
- }
43
- // [message: string, isString: bool]
44
- var formatMessage = function (message) {
45
- var type = typeof message;
46
- if (type === "string") {
47
- return [message, true];
48
- }
49
- if (type !== "object" || message === null) {
50
- throw new Error(INPUT_ERROR);
51
- }
52
- if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {
53
- return [new Uint8Array(message), false];
54
- }
55
- if (!isArray(message) && !isView(message)) {
56
- throw new Error(INPUT_ERROR);
57
- }
58
- return [message, false];
59
- };
60
- var createOutputMethod = function (outputType) {
61
- return function (message) {
62
- return new Sha1(true).update(message)[outputType]();
63
- };
64
- };
65
- var createMethod = function () {
66
- var method = createOutputMethod("hex");
67
- if (NODE_JS) {
68
- method = nodeWrap(method);
69
- }
70
- method.create = function () {
71
- return new Sha1();
72
- };
73
- method.update = function (message) {
74
- return method.create().update(message);
75
- };
76
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
77
- var type = OUTPUT_TYPES[i];
78
- method[type] = createOutputMethod(type);
79
- }
80
- return method;
81
- };
82
- var nodeWrap = function (method) {
83
- var crypto = require("crypto");
84
- var Buffer = require("buffer").Buffer;
85
- var bufferFrom;
86
- if (Buffer.from && !root.JS_SHA1_NO_BUFFER_FROM) {
87
- bufferFrom = Buffer.from;
88
- }
89
- else {
90
- bufferFrom = function (message) {
91
- return new Buffer(message);
92
- };
93
- }
94
- var nodeMethod = function (message) {
95
- if (typeof message === "string") {
96
- return crypto.createHash("sha1").update(message, "utf8").digest("hex");
97
- }
98
- else {
99
- if (message === null || message === undefined) {
100
- throw new Error(INPUT_ERROR);
101
- }
102
- else if (message.constructor === ArrayBuffer) {
103
- message = new Uint8Array(message);
104
- }
105
- }
106
- if (isArray(message) || isView(message) || message.constructor === Buffer) {
107
- return crypto.createHash("sha1").update(bufferFrom(message)).digest("hex");
108
- }
109
- else {
110
- return method(message);
111
- }
112
- };
113
- return nodeMethod;
114
- };
115
- var createHmacOutputMethod = function (outputType) {
116
- return function (key, message) {
117
- return new HmacSha1(key, true).update(message)[outputType]();
118
- };
119
- };
120
- var createHmacMethod = function () {
121
- var method = createHmacOutputMethod("hex");
122
- method.create = function (key) {
123
- return new HmacSha1(key);
124
- };
125
- method.update = function (key, message) {
126
- return method.create(key).update(message);
127
- };
128
- for (var i = 0; i < OUTPUT_TYPES.length; ++i) {
129
- var type = OUTPUT_TYPES[i];
130
- method[type] = createHmacOutputMethod(type);
131
- }
132
- return method;
133
- };
134
- function Sha1(sharedMemory) {
135
- if (sharedMemory) {
136
- blocks[0] =
137
- blocks[16] =
138
- blocks[1] =
139
- blocks[2] =
140
- blocks[3] =
141
- blocks[4] =
142
- blocks[5] =
143
- blocks[6] =
144
- blocks[7] =
145
- blocks[8] =
146
- blocks[9] =
147
- blocks[10] =
148
- blocks[11] =
149
- blocks[12] =
150
- blocks[13] =
151
- blocks[14] =
152
- blocks[15] =
153
- 0;
154
- this.blocks = blocks;
155
- }
156
- else {
157
- this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
158
- }
159
- this.h0 = 0x67452301;
160
- this.h1 = 0xefcdab89;
161
- this.h2 = 0x98badcfe;
162
- this.h3 = 0x10325476;
163
- this.h4 = 0xc3d2e1f0;
164
- this.block = this.start = this.bytes = this.hBytes = 0;
165
- this.finalized = this.hashed = false;
166
- this.first = true;
167
- }
168
- Sha1.prototype.update = function (message) {
169
- if (this.finalized) {
170
- throw new Error(FINALIZE_ERROR);
171
- }
172
- var result = formatMessage(message);
173
- message = result[0];
174
- var isString = result[1];
175
- var code, index = 0, i, length = message.length || 0, blocks = this.blocks;
176
- while (index < length) {
177
- if (this.hashed) {
178
- this.hashed = false;
179
- blocks[0] = this.block;
180
- this.block =
181
- blocks[16] =
182
- blocks[1] =
183
- blocks[2] =
184
- blocks[3] =
185
- blocks[4] =
186
- blocks[5] =
187
- blocks[6] =
188
- blocks[7] =
189
- blocks[8] =
190
- blocks[9] =
191
- blocks[10] =
192
- blocks[11] =
193
- blocks[12] =
194
- blocks[13] =
195
- blocks[14] =
196
- blocks[15] =
197
- 0;
198
- }
199
- if (isString) {
200
- for (i = this.start; index < length && i < 64; ++index) {
201
- code = message.charCodeAt(index);
202
- if (code < 0x80) {
203
- blocks[i >>> 2] |= code << SHIFT[i++ & 3];
204
- }
205
- else if (code < 0x800) {
206
- blocks[i >>> 2] |= (0xc0 | (code >>> 6)) << SHIFT[i++ & 3];
207
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
208
- }
209
- else if (code < 0xd800 || code >= 0xe000) {
210
- blocks[i >>> 2] |= (0xe0 | (code >>> 12)) << SHIFT[i++ & 3];
211
- blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];
212
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
213
- }
214
- else {
215
- code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));
216
- blocks[i >>> 2] |= (0xf0 | (code >>> 18)) << SHIFT[i++ & 3];
217
- blocks[i >>> 2] |= (0x80 | ((code >>> 12) & 0x3f)) << SHIFT[i++ & 3];
218
- blocks[i >>> 2] |= (0x80 | ((code >>> 6) & 0x3f)) << SHIFT[i++ & 3];
219
- blocks[i >>> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];
220
- }
221
- }
222
- }
223
- else {
224
- for (i = this.start; index < length && i < 64; ++index) {
225
- blocks[i >>> 2] |= message[index] << SHIFT[i++ & 3];
226
- }
227
- }
228
- this.lastByteIndex = i;
229
- this.bytes += i - this.start;
230
- if (i >= 64) {
231
- this.block = blocks[16];
232
- this.start = i - 64;
233
- this.hash();
234
- this.hashed = true;
235
- }
236
- else {
237
- this.start = i;
238
- }
239
- }
240
- if (this.bytes > 4294967295) {
241
- this.hBytes += (this.bytes / 4294967296) << 0;
242
- this.bytes = this.bytes % 4294967296;
243
- }
244
- return this;
245
- };
246
- Sha1.prototype.finalize = function () {
247
- if (this.finalized) {
248
- return;
249
- }
250
- this.finalized = true;
251
- var blocks = this.blocks, i = this.lastByteIndex;
252
- blocks[16] = this.block;
253
- blocks[i >>> 2] |= EXTRA[i & 3];
254
- this.block = blocks[16];
255
- if (i >= 56) {
256
- if (!this.hashed) {
257
- this.hash();
258
- }
259
- blocks[0] = this.block;
260
- blocks[16] =
261
- blocks[1] =
262
- blocks[2] =
263
- blocks[3] =
264
- blocks[4] =
265
- blocks[5] =
266
- blocks[6] =
267
- blocks[7] =
268
- blocks[8] =
269
- blocks[9] =
270
- blocks[10] =
271
- blocks[11] =
272
- blocks[12] =
273
- blocks[13] =
274
- blocks[14] =
275
- blocks[15] =
276
- 0;
277
- }
278
- blocks[14] = (this.hBytes << 3) | (this.bytes >>> 29);
279
- blocks[15] = this.bytes << 3;
280
- this.hash();
281
- };
282
- Sha1.prototype.hash = function () {
283
- var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4;
284
- var f, j, t, blocks = this.blocks;
285
- for (j = 16; j < 80; ++j) {
286
- t = blocks[j - 3] ^ blocks[j - 8] ^ blocks[j - 14] ^ blocks[j - 16];
287
- blocks[j] = (t << 1) | (t >>> 31);
288
- }
289
- for (j = 0; j < 20; j += 5) {
290
- f = (b & c) | (~b & d);
291
- t = (a << 5) | (a >>> 27);
292
- e = (t + f + e + 1518500249 + blocks[j]) << 0;
293
- b = (b << 30) | (b >>> 2);
294
- f = (a & b) | (~a & c);
295
- t = (e << 5) | (e >>> 27);
296
- d = (t + f + d + 1518500249 + blocks[j + 1]) << 0;
297
- a = (a << 30) | (a >>> 2);
298
- f = (e & a) | (~e & b);
299
- t = (d << 5) | (d >>> 27);
300
- c = (t + f + c + 1518500249 + blocks[j + 2]) << 0;
301
- e = (e << 30) | (e >>> 2);
302
- f = (d & e) | (~d & a);
303
- t = (c << 5) | (c >>> 27);
304
- b = (t + f + b + 1518500249 + blocks[j + 3]) << 0;
305
- d = (d << 30) | (d >>> 2);
306
- f = (c & d) | (~c & e);
307
- t = (b << 5) | (b >>> 27);
308
- a = (t + f + a + 1518500249 + blocks[j + 4]) << 0;
309
- c = (c << 30) | (c >>> 2);
310
- }
311
- for (; j < 40; j += 5) {
312
- f = b ^ c ^ d;
313
- t = (a << 5) | (a >>> 27);
314
- e = (t + f + e + 1859775393 + blocks[j]) << 0;
315
- b = (b << 30) | (b >>> 2);
316
- f = a ^ b ^ c;
317
- t = (e << 5) | (e >>> 27);
318
- d = (t + f + d + 1859775393 + blocks[j + 1]) << 0;
319
- a = (a << 30) | (a >>> 2);
320
- f = e ^ a ^ b;
321
- t = (d << 5) | (d >>> 27);
322
- c = (t + f + c + 1859775393 + blocks[j + 2]) << 0;
323
- e = (e << 30) | (e >>> 2);
324
- f = d ^ e ^ a;
325
- t = (c << 5) | (c >>> 27);
326
- b = (t + f + b + 1859775393 + blocks[j + 3]) << 0;
327
- d = (d << 30) | (d >>> 2);
328
- f = c ^ d ^ e;
329
- t = (b << 5) | (b >>> 27);
330
- a = (t + f + a + 1859775393 + blocks[j + 4]) << 0;
331
- c = (c << 30) | (c >>> 2);
332
- }
333
- for (; j < 60; j += 5) {
334
- f = (b & c) | (b & d) | (c & d);
335
- t = (a << 5) | (a >>> 27);
336
- e = (t + f + e - 1894007588 + blocks[j]) << 0;
337
- b = (b << 30) | (b >>> 2);
338
- f = (a & b) | (a & c) | (b & c);
339
- t = (e << 5) | (e >>> 27);
340
- d = (t + f + d - 1894007588 + blocks[j + 1]) << 0;
341
- a = (a << 30) | (a >>> 2);
342
- f = (e & a) | (e & b) | (a & b);
343
- t = (d << 5) | (d >>> 27);
344
- c = (t + f + c - 1894007588 + blocks[j + 2]) << 0;
345
- e = (e << 30) | (e >>> 2);
346
- f = (d & e) | (d & a) | (e & a);
347
- t = (c << 5) | (c >>> 27);
348
- b = (t + f + b - 1894007588 + blocks[j + 3]) << 0;
349
- d = (d << 30) | (d >>> 2);
350
- f = (c & d) | (c & e) | (d & e);
351
- t = (b << 5) | (b >>> 27);
352
- a = (t + f + a - 1894007588 + blocks[j + 4]) << 0;
353
- c = (c << 30) | (c >>> 2);
354
- }
355
- for (; j < 80; j += 5) {
356
- f = b ^ c ^ d;
357
- t = (a << 5) | (a >>> 27);
358
- e = (t + f + e - 899497514 + blocks[j]) << 0;
359
- b = (b << 30) | (b >>> 2);
360
- f = a ^ b ^ c;
361
- t = (e << 5) | (e >>> 27);
362
- d = (t + f + d - 899497514 + blocks[j + 1]) << 0;
363
- a = (a << 30) | (a >>> 2);
364
- f = e ^ a ^ b;
365
- t = (d << 5) | (d >>> 27);
366
- c = (t + f + c - 899497514 + blocks[j + 2]) << 0;
367
- e = (e << 30) | (e >>> 2);
368
- f = d ^ e ^ a;
369
- t = (c << 5) | (c >>> 27);
370
- b = (t + f + b - 899497514 + blocks[j + 3]) << 0;
371
- d = (d << 30) | (d >>> 2);
372
- f = c ^ d ^ e;
373
- t = (b << 5) | (b >>> 27);
374
- a = (t + f + a - 899497514 + blocks[j + 4]) << 0;
375
- c = (c << 30) | (c >>> 2);
376
- }
377
- this.h0 = (this.h0 + a) << 0;
378
- this.h1 = (this.h1 + b) << 0;
379
- this.h2 = (this.h2 + c) << 0;
380
- this.h3 = (this.h3 + d) << 0;
381
- this.h4 = (this.h4 + e) << 0;
382
- };
383
- Sha1.prototype.hex = function () {
384
- this.finalize();
385
- var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;
386
- return (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
- };
427
- Sha1.prototype.toString = Sha1.prototype.hex;
428
- Sha1.prototype.digest = function () {
429
- this.finalize();
430
- var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4;
431
- return [
432
- (h0 >>> 24) & 0xff,
433
- (h0 >>> 16) & 0xff,
434
- (h0 >>> 8) & 0xff,
435
- h0 & 0xff,
436
- (h1 >>> 24) & 0xff,
437
- (h1 >>> 16) & 0xff,
438
- (h1 >>> 8) & 0xff,
439
- h1 & 0xff,
440
- (h2 >>> 24) & 0xff,
441
- (h2 >>> 16) & 0xff,
442
- (h2 >>> 8) & 0xff,
443
- h2 & 0xff,
444
- (h3 >>> 24) & 0xff,
445
- (h3 >>> 16) & 0xff,
446
- (h3 >>> 8) & 0xff,
447
- h3 & 0xff,
448
- (h4 >>> 24) & 0xff,
449
- (h4 >>> 16) & 0xff,
450
- (h4 >>> 8) & 0xff,
451
- h4 & 0xff,
452
- ];
453
- };
454
- Sha1.prototype.array = Sha1.prototype.digest;
455
- Sha1.prototype.arrayBuffer = function () {
456
- this.finalize();
457
- var buffer = new ArrayBuffer(20);
458
- var dataView = new DataView(buffer);
459
- dataView.setUint32(0, this.h0);
460
- dataView.setUint32(4, this.h1);
461
- dataView.setUint32(8, this.h2);
462
- dataView.setUint32(12, this.h3);
463
- dataView.setUint32(16, this.h4);
464
- return buffer;
465
- };
466
- function HmacSha1(key, sharedMemory) {
467
- var i, result = formatMessage(key);
468
- key = result[0];
469
- if (result[1]) {
470
- var bytes = [], length = key.length, index = 0, code;
471
- for (i = 0; i < length; ++i) {
472
- code = key.charCodeAt(i);
473
- if (code < 0x80) {
474
- bytes[index++] = code;
475
- }
476
- else if (code < 0x800) {
477
- bytes[index++] = 0xc0 | (code >>> 6);
478
- bytes[index++] = 0x80 | (code & 0x3f);
479
- }
480
- else if (code < 0xd800 || code >= 0xe000) {
481
- bytes[index++] = 0xe0 | (code >>> 12);
482
- bytes[index++] = 0x80 | ((code >>> 6) & 0x3f);
483
- bytes[index++] = 0x80 | (code & 0x3f);
484
- }
485
- else {
486
- code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));
487
- bytes[index++] = 0xf0 | (code >>> 18);
488
- bytes[index++] = 0x80 | ((code >>> 12) & 0x3f);
489
- bytes[index++] = 0x80 | ((code >>> 6) & 0x3f);
490
- bytes[index++] = 0x80 | (code & 0x3f);
491
- }
492
- }
493
- key = bytes;
494
- }
495
- if (key.length > 64) {
496
- key = new Sha1(true).update(key).array();
497
- }
498
- var oKeyPad = [], iKeyPad = [];
499
- for (i = 0; i < 64; ++i) {
500
- var b = key[i] || 0;
501
- oKeyPad[i] = 0x5c ^ b;
502
- iKeyPad[i] = 0x36 ^ b;
503
- }
504
- Sha1.call(this, sharedMemory);
505
- this.update(iKeyPad);
506
- this.oKeyPad = oKeyPad;
507
- this.inner = true;
508
- this.sharedMemory = sharedMemory;
509
- }
510
- HmacSha1.prototype = new Sha1();
511
- HmacSha1.prototype.finalize = function () {
512
- Sha1.prototype.finalize.call(this);
513
- if (this.inner) {
514
- this.inner = false;
515
- var innerHash = this.array();
516
- Sha1.call(this, this.sharedMemory);
517
- this.update(this.oKeyPad);
518
- this.update(innerHash);
519
- Sha1.prototype.finalize.call(this);
520
- }
521
- };
522
- /* 以下是内部实现需要的es模块化导出方法 */
523
- const sha1 = createMethod();
524
- const sha1_hmac = createHmacMethod();
525
-
526
- export { sha1, sha1_hmac };
@@ -1,26 +0,0 @@
1
- /**
2
- * sha256 加密
3
- * @param {String} str 字符串
4
- * @returns {String} 返回加密后的字符串
5
- */
6
- export function sha256(str: string): string;
7
- /**
8
- * sha224 加密
9
- * @param {String} str 字符串
10
- * @returns {String} 返回加密后的字符串
11
- */
12
- export function sha224(str: string): string;
13
- /**
14
- * sha256_hmac 加密
15
- * @param {String} str 字符串
16
- * @param {String} key 秘钥
17
- * @returns {String} 返回加密后的字符串
18
- */
19
- export function sha256_hmac(str: string, key: string): string;
20
- /**
21
- * sha224_hmac 加密
22
- * @param {String} str 字符串
23
- * @param {String} key 秘钥
24
- * @returns {String} 返回加密后的字符串
25
- */
26
- export function sha224_hmac(str: string, key: string): string;
@@ -1,38 +0,0 @@
1
- import { sha256 as sha256$1, sha224 as sha224$1, sha256_hmac as sha256_hmac$1, sha224_hmac as sha224_hmac$1 } from './sha256.mjs';
2
-
3
- /**
4
- * sha256 加密
5
- * @param {String} str 字符串
6
- * @returns {String} 返回加密后的字符串
7
- */
8
- function sha256(str) {
9
- return sha256$1(str);
10
- }
11
- /**
12
- * sha224 加密
13
- * @param {String} str 字符串
14
- * @returns {String} 返回加密后的字符串
15
- */
16
- function sha224(str) {
17
- return sha224$1(str);
18
- }
19
- /**
20
- * sha256_hmac 加密
21
- * @param {String} str 字符串
22
- * @param {String} key 秘钥
23
- * @returns {String} 返回加密后的字符串
24
- */
25
- function sha256_hmac(str, key) {
26
- return sha256_hmac$1(key, str);
27
- }
28
- /**
29
- * sha224_hmac 加密
30
- * @param {String} str 字符串
31
- * @param {String} key 秘钥
32
- * @returns {String} 返回加密后的字符串
33
- */
34
- function sha224_hmac(str, key) {
35
- return sha224_hmac$1(key, str);
36
- }
37
-
38
- export { sha224, sha224_hmac, sha256, sha256_hmac };
@@ -1,4 +0,0 @@
1
- export function sha256(message: any): any;
2
- export function sha224(message: any): any;
3
- export function sha256_hmac(key: any, message: any): any;
4
- export function sha224_hmac(key: any, message: any): any;