otplib 12.0.0-1 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +115 -388
- package/core.d.ts +1 -0
- package/core.js +23 -0
- package/index.d.ts +1 -0
- package/index.js +23 -0
- package/package.json +16 -98
- package/v11.d.ts +1 -0
- package/v11.js +23 -0
- package/authenticator/authenticator.d.ts +0 -145
- package/authenticator/index.d.ts +0 -1
- package/authenticator/index.js +0 -92
- package/authenticator-async/authenticator.d.ts +0 -34
- package/authenticator-async/index.d.ts +0 -1
- package/authenticator-async/index.js +0 -62
- package/core/index.d.ts +0 -3
- package/core/index.js +0 -41
- package/core-async/index.d.ts +0 -11
- package/core-async/index.js +0 -62
- package/hotp/hotp.d.ts +0 -128
- package/hotp/index.d.ts +0 -2
- package/hotp/index.js +0 -224
- package/hotp/utils.d.ts +0 -208
- package/hotp-async/hotp.d.ts +0 -33
- package/hotp-async/index.d.ts +0 -1
- package/hotp-async/index.js +0 -55
- package/plugin-base32-enc-dec/index.d.ts +0 -9
- package/plugin-base32-enc-dec/index.js +0 -28
- package/plugin-crypto/index.d.ts +0 -4
- package/plugin-crypto/index.js +0 -26
- package/plugin-crypto-async-ronomon/index.d.ts +0 -4
- package/plugin-crypto-async-ronomon/index.js +0 -34
- package/plugin-crypto-js/index.d.ts +0 -4
- package/plugin-crypto-js/index.js +0 -831
- package/plugin-thirty-two/index.d.ts +0 -9
- package/plugin-thirty-two/index.js +0 -24
- package/preset-browser/buffer.js +0 -1
- package/preset-browser/index.d.ts +0 -4
- package/preset-browser/index.js +0 -9
- package/preset-browser/index.js.map +0 -1
- package/preset-default/index.d.ts +0 -4
- package/preset-default/index.js +0 -31
- package/preset-default-async/index.d.ts +0 -4
- package/preset-default-async/index.js +0 -31
- package/preset-v11/index.js +0 -134
- package/totp/index.d.ts +0 -1
- package/totp/index.js +0 -202
- package/totp/totp.d.ts +0 -201
- package/totp-async/index.d.ts +0 -1
- package/totp-async/index.js +0 -98
- package/totp-async/totp.d.ts +0 -46
|
@@ -1,831 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* otplib-plugin-crypto-js
|
|
3
|
-
*
|
|
4
|
-
* @author Gerald Yeo <contact@fusedthought.com>
|
|
5
|
-
* @version: 12.0.0-1
|
|
6
|
-
* @license: MIT
|
|
7
|
-
**/
|
|
8
|
-
'use strict';
|
|
9
|
-
|
|
10
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
-
|
|
12
|
-
var otplibCore = require('../core');
|
|
13
|
-
|
|
14
|
-
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
15
|
-
|
|
16
|
-
function createCommonjsModule(fn, module) {
|
|
17
|
-
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
var core = createCommonjsModule(function (module, exports) {
|
|
21
|
-
(function (root, factory) {
|
|
22
|
-
{
|
|
23
|
-
module.exports = exports = factory();
|
|
24
|
-
}
|
|
25
|
-
})(commonjsGlobal, function () {
|
|
26
|
-
var CryptoJS = CryptoJS || function (Math, undefined$1) {
|
|
27
|
-
var create = Object.create || function () {
|
|
28
|
-
function F() {}
|
|
29
|
-
return function (obj) {
|
|
30
|
-
var subtype;
|
|
31
|
-
F.prototype = obj;
|
|
32
|
-
subtype = new F();
|
|
33
|
-
F.prototype = null;
|
|
34
|
-
return subtype;
|
|
35
|
-
};
|
|
36
|
-
}();
|
|
37
|
-
var C = {};
|
|
38
|
-
var C_lib = C.lib = {};
|
|
39
|
-
var Base = C_lib.Base = function () {
|
|
40
|
-
return {
|
|
41
|
-
extend: function (overrides) {
|
|
42
|
-
var subtype = create(this);
|
|
43
|
-
if (overrides) {
|
|
44
|
-
subtype.mixIn(overrides);
|
|
45
|
-
}
|
|
46
|
-
if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {
|
|
47
|
-
subtype.init = function () {
|
|
48
|
-
subtype.$super.init.apply(this, arguments);
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
subtype.init.prototype = subtype;
|
|
52
|
-
subtype.$super = this;
|
|
53
|
-
return subtype;
|
|
54
|
-
},
|
|
55
|
-
create: function () {
|
|
56
|
-
var instance = this.extend();
|
|
57
|
-
instance.init.apply(instance, arguments);
|
|
58
|
-
return instance;
|
|
59
|
-
},
|
|
60
|
-
init: function () {},
|
|
61
|
-
mixIn: function (properties) {
|
|
62
|
-
for (var propertyName in properties) {
|
|
63
|
-
if (properties.hasOwnProperty(propertyName)) {
|
|
64
|
-
this[propertyName] = properties[propertyName];
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (properties.hasOwnProperty('toString')) {
|
|
68
|
-
this.toString = properties.toString;
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
clone: function () {
|
|
72
|
-
return this.init.prototype.extend(this);
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
}();
|
|
76
|
-
var WordArray = C_lib.WordArray = Base.extend({
|
|
77
|
-
init: function (words, sigBytes) {
|
|
78
|
-
words = this.words = words || [];
|
|
79
|
-
if (sigBytes != undefined$1) {
|
|
80
|
-
this.sigBytes = sigBytes;
|
|
81
|
-
} else {
|
|
82
|
-
this.sigBytes = words.length * 4;
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
toString: function (encoder) {
|
|
86
|
-
return (encoder || Hex).stringify(this);
|
|
87
|
-
},
|
|
88
|
-
concat: function (wordArray) {
|
|
89
|
-
var thisWords = this.words;
|
|
90
|
-
var thatWords = wordArray.words;
|
|
91
|
-
var thisSigBytes = this.sigBytes;
|
|
92
|
-
var thatSigBytes = wordArray.sigBytes;
|
|
93
|
-
this.clamp();
|
|
94
|
-
if (thisSigBytes % 4) {
|
|
95
|
-
for (var i = 0; i < thatSigBytes; i++) {
|
|
96
|
-
var thatByte = thatWords[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
|
97
|
-
thisWords[thisSigBytes + i >>> 2] |= thatByte << 24 - (thisSigBytes + i) % 4 * 8;
|
|
98
|
-
}
|
|
99
|
-
} else {
|
|
100
|
-
for (var i = 0; i < thatSigBytes; i += 4) {
|
|
101
|
-
thisWords[thisSigBytes + i >>> 2] = thatWords[i >>> 2];
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
this.sigBytes += thatSigBytes;
|
|
105
|
-
return this;
|
|
106
|
-
},
|
|
107
|
-
clamp: function () {
|
|
108
|
-
var words = this.words;
|
|
109
|
-
var sigBytes = this.sigBytes;
|
|
110
|
-
words[sigBytes >>> 2] &= 0xffffffff << 32 - sigBytes % 4 * 8;
|
|
111
|
-
words.length = Math.ceil(sigBytes / 4);
|
|
112
|
-
},
|
|
113
|
-
clone: function () {
|
|
114
|
-
var clone = Base.clone.call(this);
|
|
115
|
-
clone.words = this.words.slice(0);
|
|
116
|
-
return clone;
|
|
117
|
-
},
|
|
118
|
-
random: function (nBytes) {
|
|
119
|
-
var words = [];
|
|
120
|
-
var r = function (m_w) {
|
|
121
|
-
var m_w = m_w;
|
|
122
|
-
var m_z = 0x3ade68b1;
|
|
123
|
-
var mask = 0xffffffff;
|
|
124
|
-
return function () {
|
|
125
|
-
m_z = 0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10) & mask;
|
|
126
|
-
m_w = 0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10) & mask;
|
|
127
|
-
var result = (m_z << 0x10) + m_w & mask;
|
|
128
|
-
result /= 0x100000000;
|
|
129
|
-
result += 0.5;
|
|
130
|
-
return result * (Math.random() > .5 ? 1 : -1);
|
|
131
|
-
};
|
|
132
|
-
};
|
|
133
|
-
for (var i = 0, rcache; i < nBytes; i += 4) {
|
|
134
|
-
var _r = r((rcache || Math.random()) * 0x100000000);
|
|
135
|
-
rcache = _r() * 0x3ade67b7;
|
|
136
|
-
words.push(_r() * 0x100000000 | 0);
|
|
137
|
-
}
|
|
138
|
-
return new WordArray.init(words, nBytes);
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
|
-
var C_enc = C.enc = {};
|
|
142
|
-
var Hex = C_enc.Hex = {
|
|
143
|
-
stringify: function (wordArray) {
|
|
144
|
-
var words = wordArray.words;
|
|
145
|
-
var sigBytes = wordArray.sigBytes;
|
|
146
|
-
var hexChars = [];
|
|
147
|
-
for (var i = 0; i < sigBytes; i++) {
|
|
148
|
-
var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
|
149
|
-
hexChars.push((bite >>> 4).toString(16));
|
|
150
|
-
hexChars.push((bite & 0x0f).toString(16));
|
|
151
|
-
}
|
|
152
|
-
return hexChars.join('');
|
|
153
|
-
},
|
|
154
|
-
parse: function (hexStr) {
|
|
155
|
-
var hexStrLength = hexStr.length;
|
|
156
|
-
var words = [];
|
|
157
|
-
for (var i = 0; i < hexStrLength; i += 2) {
|
|
158
|
-
words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << 24 - i % 8 * 4;
|
|
159
|
-
}
|
|
160
|
-
return new WordArray.init(words, hexStrLength / 2);
|
|
161
|
-
}
|
|
162
|
-
};
|
|
163
|
-
var Latin1 = C_enc.Latin1 = {
|
|
164
|
-
stringify: function (wordArray) {
|
|
165
|
-
var words = wordArray.words;
|
|
166
|
-
var sigBytes = wordArray.sigBytes;
|
|
167
|
-
var latin1Chars = [];
|
|
168
|
-
for (var i = 0; i < sigBytes; i++) {
|
|
169
|
-
var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;
|
|
170
|
-
latin1Chars.push(String.fromCharCode(bite));
|
|
171
|
-
}
|
|
172
|
-
return latin1Chars.join('');
|
|
173
|
-
},
|
|
174
|
-
parse: function (latin1Str) {
|
|
175
|
-
var latin1StrLength = latin1Str.length;
|
|
176
|
-
var words = [];
|
|
177
|
-
for (var i = 0; i < latin1StrLength; i++) {
|
|
178
|
-
words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << 24 - i % 4 * 8;
|
|
179
|
-
}
|
|
180
|
-
return new WordArray.init(words, latin1StrLength);
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
var Utf8 = C_enc.Utf8 = {
|
|
184
|
-
stringify: function (wordArray) {
|
|
185
|
-
try {
|
|
186
|
-
return decodeURIComponent(escape(Latin1.stringify(wordArray)));
|
|
187
|
-
} catch (e) {
|
|
188
|
-
throw new Error('Malformed UTF-8 data');
|
|
189
|
-
}
|
|
190
|
-
},
|
|
191
|
-
parse: function (utf8Str) {
|
|
192
|
-
return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
|
|
193
|
-
}
|
|
194
|
-
};
|
|
195
|
-
var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({
|
|
196
|
-
reset: function () {
|
|
197
|
-
this._data = new WordArray.init();
|
|
198
|
-
this._nDataBytes = 0;
|
|
199
|
-
},
|
|
200
|
-
_append: function (data) {
|
|
201
|
-
if (typeof data == 'string') {
|
|
202
|
-
data = Utf8.parse(data);
|
|
203
|
-
}
|
|
204
|
-
this._data.concat(data);
|
|
205
|
-
this._nDataBytes += data.sigBytes;
|
|
206
|
-
},
|
|
207
|
-
_process: function (doFlush) {
|
|
208
|
-
var data = this._data;
|
|
209
|
-
var dataWords = data.words;
|
|
210
|
-
var dataSigBytes = data.sigBytes;
|
|
211
|
-
var blockSize = this.blockSize;
|
|
212
|
-
var blockSizeBytes = blockSize * 4;
|
|
213
|
-
var nBlocksReady = dataSigBytes / blockSizeBytes;
|
|
214
|
-
if (doFlush) {
|
|
215
|
-
nBlocksReady = Math.ceil(nBlocksReady);
|
|
216
|
-
} else {
|
|
217
|
-
nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);
|
|
218
|
-
}
|
|
219
|
-
var nWordsReady = nBlocksReady * blockSize;
|
|
220
|
-
var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);
|
|
221
|
-
if (nWordsReady) {
|
|
222
|
-
for (var offset = 0; offset < nWordsReady; offset += blockSize) {
|
|
223
|
-
this._doProcessBlock(dataWords, offset);
|
|
224
|
-
}
|
|
225
|
-
var processedWords = dataWords.splice(0, nWordsReady);
|
|
226
|
-
data.sigBytes -= nBytesReady;
|
|
227
|
-
}
|
|
228
|
-
return new WordArray.init(processedWords, nBytesReady);
|
|
229
|
-
},
|
|
230
|
-
clone: function () {
|
|
231
|
-
var clone = Base.clone.call(this);
|
|
232
|
-
clone._data = this._data.clone();
|
|
233
|
-
return clone;
|
|
234
|
-
},
|
|
235
|
-
_minBufferSize: 0
|
|
236
|
-
});
|
|
237
|
-
var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({
|
|
238
|
-
cfg: Base.extend(),
|
|
239
|
-
init: function (cfg) {
|
|
240
|
-
this.cfg = this.cfg.extend(cfg);
|
|
241
|
-
this.reset();
|
|
242
|
-
},
|
|
243
|
-
reset: function () {
|
|
244
|
-
BufferedBlockAlgorithm.reset.call(this);
|
|
245
|
-
this._doReset();
|
|
246
|
-
},
|
|
247
|
-
update: function (messageUpdate) {
|
|
248
|
-
this._append(messageUpdate);
|
|
249
|
-
this._process();
|
|
250
|
-
return this;
|
|
251
|
-
},
|
|
252
|
-
finalize: function (messageUpdate) {
|
|
253
|
-
if (messageUpdate) {
|
|
254
|
-
this._append(messageUpdate);
|
|
255
|
-
}
|
|
256
|
-
var hash = this._doFinalize();
|
|
257
|
-
return hash;
|
|
258
|
-
},
|
|
259
|
-
blockSize: 512 / 32,
|
|
260
|
-
_createHelper: function (hasher) {
|
|
261
|
-
return function (message, cfg) {
|
|
262
|
-
return new hasher.init(cfg).finalize(message);
|
|
263
|
-
};
|
|
264
|
-
},
|
|
265
|
-
_createHmacHelper: function (hasher) {
|
|
266
|
-
return function (message, key) {
|
|
267
|
-
return new C_algo.HMAC.init(hasher, key).finalize(message);
|
|
268
|
-
};
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
var C_algo = C.algo = {};
|
|
272
|
-
return C;
|
|
273
|
-
}(Math);
|
|
274
|
-
return CryptoJS;
|
|
275
|
-
});
|
|
276
|
-
});
|
|
277
|
-
|
|
278
|
-
var sha1 = createCommonjsModule(function (module, exports) {
|
|
279
|
-
(function (root, factory) {
|
|
280
|
-
{
|
|
281
|
-
module.exports = exports = factory(core);
|
|
282
|
-
}
|
|
283
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
284
|
-
(function () {
|
|
285
|
-
var C = CryptoJS;
|
|
286
|
-
var C_lib = C.lib;
|
|
287
|
-
var WordArray = C_lib.WordArray;
|
|
288
|
-
var Hasher = C_lib.Hasher;
|
|
289
|
-
var C_algo = C.algo;
|
|
290
|
-
var W = [];
|
|
291
|
-
var SHA1 = C_algo.SHA1 = Hasher.extend({
|
|
292
|
-
_doReset: function () {
|
|
293
|
-
this._hash = new WordArray.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0]);
|
|
294
|
-
},
|
|
295
|
-
_doProcessBlock: function (M, offset) {
|
|
296
|
-
var H = this._hash.words;
|
|
297
|
-
var a = H[0];
|
|
298
|
-
var b = H[1];
|
|
299
|
-
var c = H[2];
|
|
300
|
-
var d = H[3];
|
|
301
|
-
var e = H[4];
|
|
302
|
-
for (var i = 0; i < 80; i++) {
|
|
303
|
-
if (i < 16) {
|
|
304
|
-
W[i] = M[offset + i] | 0;
|
|
305
|
-
} else {
|
|
306
|
-
var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
|
|
307
|
-
W[i] = n << 1 | n >>> 31;
|
|
308
|
-
}
|
|
309
|
-
var t = (a << 5 | a >>> 27) + e + W[i];
|
|
310
|
-
if (i < 20) {
|
|
311
|
-
t += (b & c | ~b & d) + 0x5a827999;
|
|
312
|
-
} else if (i < 40) {
|
|
313
|
-
t += (b ^ c ^ d) + 0x6ed9eba1;
|
|
314
|
-
} else if (i < 60) {
|
|
315
|
-
t += (b & c | b & d | c & d) - 0x70e44324;
|
|
316
|
-
} else
|
|
317
|
-
{
|
|
318
|
-
t += (b ^ c ^ d) - 0x359d3e2a;
|
|
319
|
-
}
|
|
320
|
-
e = d;
|
|
321
|
-
d = c;
|
|
322
|
-
c = b << 30 | b >>> 2;
|
|
323
|
-
b = a;
|
|
324
|
-
a = t;
|
|
325
|
-
}
|
|
326
|
-
H[0] = H[0] + a | 0;
|
|
327
|
-
H[1] = H[1] + b | 0;
|
|
328
|
-
H[2] = H[2] + c | 0;
|
|
329
|
-
H[3] = H[3] + d | 0;
|
|
330
|
-
H[4] = H[4] + e | 0;
|
|
331
|
-
},
|
|
332
|
-
_doFinalize: function () {
|
|
333
|
-
var data = this._data;
|
|
334
|
-
var dataWords = data.words;
|
|
335
|
-
var nBitsTotal = this._nDataBytes * 8;
|
|
336
|
-
var nBitsLeft = data.sigBytes * 8;
|
|
337
|
-
dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
|
|
338
|
-
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
|
|
339
|
-
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
|
|
340
|
-
data.sigBytes = dataWords.length * 4;
|
|
341
|
-
this._process();
|
|
342
|
-
return this._hash;
|
|
343
|
-
},
|
|
344
|
-
clone: function () {
|
|
345
|
-
var clone = Hasher.clone.call(this);
|
|
346
|
-
clone._hash = this._hash.clone();
|
|
347
|
-
return clone;
|
|
348
|
-
}
|
|
349
|
-
});
|
|
350
|
-
C.SHA1 = Hasher._createHelper(SHA1);
|
|
351
|
-
C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
|
|
352
|
-
})();
|
|
353
|
-
return CryptoJS.SHA1;
|
|
354
|
-
});
|
|
355
|
-
});
|
|
356
|
-
|
|
357
|
-
var hmac = createCommonjsModule(function (module, exports) {
|
|
358
|
-
(function (root, factory) {
|
|
359
|
-
{
|
|
360
|
-
module.exports = exports = factory(core);
|
|
361
|
-
}
|
|
362
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
363
|
-
(function () {
|
|
364
|
-
var C = CryptoJS;
|
|
365
|
-
var C_lib = C.lib;
|
|
366
|
-
var Base = C_lib.Base;
|
|
367
|
-
var C_enc = C.enc;
|
|
368
|
-
var Utf8 = C_enc.Utf8;
|
|
369
|
-
var C_algo = C.algo;
|
|
370
|
-
var HMAC = C_algo.HMAC = Base.extend({
|
|
371
|
-
init: function (hasher, key) {
|
|
372
|
-
hasher = this._hasher = new hasher.init();
|
|
373
|
-
if (typeof key == 'string') {
|
|
374
|
-
key = Utf8.parse(key);
|
|
375
|
-
}
|
|
376
|
-
var hasherBlockSize = hasher.blockSize;
|
|
377
|
-
var hasherBlockSizeBytes = hasherBlockSize * 4;
|
|
378
|
-
if (key.sigBytes > hasherBlockSizeBytes) {
|
|
379
|
-
key = hasher.finalize(key);
|
|
380
|
-
}
|
|
381
|
-
key.clamp();
|
|
382
|
-
var oKey = this._oKey = key.clone();
|
|
383
|
-
var iKey = this._iKey = key.clone();
|
|
384
|
-
var oKeyWords = oKey.words;
|
|
385
|
-
var iKeyWords = iKey.words;
|
|
386
|
-
for (var i = 0; i < hasherBlockSize; i++) {
|
|
387
|
-
oKeyWords[i] ^= 0x5c5c5c5c;
|
|
388
|
-
iKeyWords[i] ^= 0x36363636;
|
|
389
|
-
}
|
|
390
|
-
oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
|
|
391
|
-
this.reset();
|
|
392
|
-
},
|
|
393
|
-
reset: function () {
|
|
394
|
-
var hasher = this._hasher;
|
|
395
|
-
hasher.reset();
|
|
396
|
-
hasher.update(this._iKey);
|
|
397
|
-
},
|
|
398
|
-
update: function (messageUpdate) {
|
|
399
|
-
this._hasher.update(messageUpdate);
|
|
400
|
-
return this;
|
|
401
|
-
},
|
|
402
|
-
finalize: function (messageUpdate) {
|
|
403
|
-
var hasher = this._hasher;
|
|
404
|
-
var innerHash = hasher.finalize(messageUpdate);
|
|
405
|
-
hasher.reset();
|
|
406
|
-
var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
|
|
407
|
-
return hmac;
|
|
408
|
-
}
|
|
409
|
-
});
|
|
410
|
-
})();
|
|
411
|
-
});
|
|
412
|
-
});
|
|
413
|
-
|
|
414
|
-
var hmacSha1 = createCommonjsModule(function (module, exports) {
|
|
415
|
-
(function (root, factory, undef) {
|
|
416
|
-
{
|
|
417
|
-
module.exports = exports = factory(core, sha1, hmac);
|
|
418
|
-
}
|
|
419
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
420
|
-
return CryptoJS.HmacSHA1;
|
|
421
|
-
});
|
|
422
|
-
});
|
|
423
|
-
|
|
424
|
-
var sha256 = createCommonjsModule(function (module, exports) {
|
|
425
|
-
(function (root, factory) {
|
|
426
|
-
{
|
|
427
|
-
module.exports = exports = factory(core);
|
|
428
|
-
}
|
|
429
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
430
|
-
(function (Math) {
|
|
431
|
-
var C = CryptoJS;
|
|
432
|
-
var C_lib = C.lib;
|
|
433
|
-
var WordArray = C_lib.WordArray;
|
|
434
|
-
var Hasher = C_lib.Hasher;
|
|
435
|
-
var C_algo = C.algo;
|
|
436
|
-
var H = [];
|
|
437
|
-
var K = [];
|
|
438
|
-
(function () {
|
|
439
|
-
function isPrime(n) {
|
|
440
|
-
var sqrtN = Math.sqrt(n);
|
|
441
|
-
for (var factor = 2; factor <= sqrtN; factor++) {
|
|
442
|
-
if (!(n % factor)) {
|
|
443
|
-
return false;
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
return true;
|
|
447
|
-
}
|
|
448
|
-
function getFractionalBits(n) {
|
|
449
|
-
return (n - (n | 0)) * 0x100000000 | 0;
|
|
450
|
-
}
|
|
451
|
-
var n = 2;
|
|
452
|
-
var nPrime = 0;
|
|
453
|
-
while (nPrime < 64) {
|
|
454
|
-
if (isPrime(n)) {
|
|
455
|
-
if (nPrime < 8) {
|
|
456
|
-
H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));
|
|
457
|
-
}
|
|
458
|
-
K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));
|
|
459
|
-
nPrime++;
|
|
460
|
-
}
|
|
461
|
-
n++;
|
|
462
|
-
}
|
|
463
|
-
})();
|
|
464
|
-
var W = [];
|
|
465
|
-
var SHA256 = C_algo.SHA256 = Hasher.extend({
|
|
466
|
-
_doReset: function () {
|
|
467
|
-
this._hash = new WordArray.init(H.slice(0));
|
|
468
|
-
},
|
|
469
|
-
_doProcessBlock: function (M, offset) {
|
|
470
|
-
var H = this._hash.words;
|
|
471
|
-
var a = H[0];
|
|
472
|
-
var b = H[1];
|
|
473
|
-
var c = H[2];
|
|
474
|
-
var d = H[3];
|
|
475
|
-
var e = H[4];
|
|
476
|
-
var f = H[5];
|
|
477
|
-
var g = H[6];
|
|
478
|
-
var h = H[7];
|
|
479
|
-
for (var i = 0; i < 64; i++) {
|
|
480
|
-
if (i < 16) {
|
|
481
|
-
W[i] = M[offset + i] | 0;
|
|
482
|
-
} else {
|
|
483
|
-
var gamma0x = W[i - 15];
|
|
484
|
-
var gamma0 = (gamma0x << 25 | gamma0x >>> 7) ^ (gamma0x << 14 | gamma0x >>> 18) ^ gamma0x >>> 3;
|
|
485
|
-
var gamma1x = W[i - 2];
|
|
486
|
-
var gamma1 = (gamma1x << 15 | gamma1x >>> 17) ^ (gamma1x << 13 | gamma1x >>> 19) ^ gamma1x >>> 10;
|
|
487
|
-
W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
|
|
488
|
-
}
|
|
489
|
-
var ch = e & f ^ ~e & g;
|
|
490
|
-
var maj = a & b ^ a & c ^ b & c;
|
|
491
|
-
var sigma0 = (a << 30 | a >>> 2) ^ (a << 19 | a >>> 13) ^ (a << 10 | a >>> 22);
|
|
492
|
-
var sigma1 = (e << 26 | e >>> 6) ^ (e << 21 | e >>> 11) ^ (e << 7 | e >>> 25);
|
|
493
|
-
var t1 = h + sigma1 + ch + K[i] + W[i];
|
|
494
|
-
var t2 = sigma0 + maj;
|
|
495
|
-
h = g;
|
|
496
|
-
g = f;
|
|
497
|
-
f = e;
|
|
498
|
-
e = d + t1 | 0;
|
|
499
|
-
d = c;
|
|
500
|
-
c = b;
|
|
501
|
-
b = a;
|
|
502
|
-
a = t1 + t2 | 0;
|
|
503
|
-
}
|
|
504
|
-
H[0] = H[0] + a | 0;
|
|
505
|
-
H[1] = H[1] + b | 0;
|
|
506
|
-
H[2] = H[2] + c | 0;
|
|
507
|
-
H[3] = H[3] + d | 0;
|
|
508
|
-
H[4] = H[4] + e | 0;
|
|
509
|
-
H[5] = H[5] + f | 0;
|
|
510
|
-
H[6] = H[6] + g | 0;
|
|
511
|
-
H[7] = H[7] + h | 0;
|
|
512
|
-
},
|
|
513
|
-
_doFinalize: function () {
|
|
514
|
-
var data = this._data;
|
|
515
|
-
var dataWords = data.words;
|
|
516
|
-
var nBitsTotal = this._nDataBytes * 8;
|
|
517
|
-
var nBitsLeft = data.sigBytes * 8;
|
|
518
|
-
dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
|
|
519
|
-
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
|
|
520
|
-
dataWords[(nBitsLeft + 64 >>> 9 << 4) + 15] = nBitsTotal;
|
|
521
|
-
data.sigBytes = dataWords.length * 4;
|
|
522
|
-
this._process();
|
|
523
|
-
return this._hash;
|
|
524
|
-
},
|
|
525
|
-
clone: function () {
|
|
526
|
-
var clone = Hasher.clone.call(this);
|
|
527
|
-
clone._hash = this._hash.clone();
|
|
528
|
-
return clone;
|
|
529
|
-
}
|
|
530
|
-
});
|
|
531
|
-
C.SHA256 = Hasher._createHelper(SHA256);
|
|
532
|
-
C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
|
|
533
|
-
})(Math);
|
|
534
|
-
return CryptoJS.SHA256;
|
|
535
|
-
});
|
|
536
|
-
});
|
|
537
|
-
|
|
538
|
-
var hmacSha256 = createCommonjsModule(function (module, exports) {
|
|
539
|
-
(function (root, factory, undef) {
|
|
540
|
-
{
|
|
541
|
-
module.exports = exports = factory(core, sha256, hmac);
|
|
542
|
-
}
|
|
543
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
544
|
-
return CryptoJS.HmacSHA256;
|
|
545
|
-
});
|
|
546
|
-
});
|
|
547
|
-
|
|
548
|
-
var x64Core = createCommonjsModule(function (module, exports) {
|
|
549
|
-
(function (root, factory) {
|
|
550
|
-
{
|
|
551
|
-
module.exports = exports = factory(core);
|
|
552
|
-
}
|
|
553
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
554
|
-
(function (undefined$1) {
|
|
555
|
-
var C = CryptoJS;
|
|
556
|
-
var C_lib = C.lib;
|
|
557
|
-
var Base = C_lib.Base;
|
|
558
|
-
var X32WordArray = C_lib.WordArray;
|
|
559
|
-
var C_x64 = C.x64 = {};
|
|
560
|
-
var X64Word = C_x64.Word = Base.extend({
|
|
561
|
-
init: function (high, low) {
|
|
562
|
-
this.high = high;
|
|
563
|
-
this.low = low;
|
|
564
|
-
}
|
|
565
|
-
});
|
|
566
|
-
var X64WordArray = C_x64.WordArray = Base.extend({
|
|
567
|
-
init: function (words, sigBytes) {
|
|
568
|
-
words = this.words = words || [];
|
|
569
|
-
if (sigBytes != undefined$1) {
|
|
570
|
-
this.sigBytes = sigBytes;
|
|
571
|
-
} else {
|
|
572
|
-
this.sigBytes = words.length * 8;
|
|
573
|
-
}
|
|
574
|
-
},
|
|
575
|
-
toX32: function () {
|
|
576
|
-
var x64Words = this.words;
|
|
577
|
-
var x64WordsLength = x64Words.length;
|
|
578
|
-
var x32Words = [];
|
|
579
|
-
for (var i = 0; i < x64WordsLength; i++) {
|
|
580
|
-
var x64Word = x64Words[i];
|
|
581
|
-
x32Words.push(x64Word.high);
|
|
582
|
-
x32Words.push(x64Word.low);
|
|
583
|
-
}
|
|
584
|
-
return X32WordArray.create(x32Words, this.sigBytes);
|
|
585
|
-
},
|
|
586
|
-
clone: function () {
|
|
587
|
-
var clone = Base.clone.call(this);
|
|
588
|
-
var words = clone.words = this.words.slice(0);
|
|
589
|
-
var wordsLength = words.length;
|
|
590
|
-
for (var i = 0; i < wordsLength; i++) {
|
|
591
|
-
words[i] = words[i].clone();
|
|
592
|
-
}
|
|
593
|
-
return clone;
|
|
594
|
-
}
|
|
595
|
-
});
|
|
596
|
-
})();
|
|
597
|
-
return CryptoJS;
|
|
598
|
-
});
|
|
599
|
-
});
|
|
600
|
-
|
|
601
|
-
var sha512 = createCommonjsModule(function (module, exports) {
|
|
602
|
-
(function (root, factory, undef) {
|
|
603
|
-
{
|
|
604
|
-
module.exports = exports = factory(core, x64Core);
|
|
605
|
-
}
|
|
606
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
607
|
-
(function () {
|
|
608
|
-
var C = CryptoJS;
|
|
609
|
-
var C_lib = C.lib;
|
|
610
|
-
var Hasher = C_lib.Hasher;
|
|
611
|
-
var C_x64 = C.x64;
|
|
612
|
-
var X64Word = C_x64.Word;
|
|
613
|
-
var X64WordArray = C_x64.WordArray;
|
|
614
|
-
var C_algo = C.algo;
|
|
615
|
-
function X64Word_create() {
|
|
616
|
-
return X64Word.create.apply(X64Word, arguments);
|
|
617
|
-
}
|
|
618
|
-
var K = [X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)];
|
|
619
|
-
var W = [];
|
|
620
|
-
(function () {
|
|
621
|
-
for (var i = 0; i < 80; i++) {
|
|
622
|
-
W[i] = X64Word_create();
|
|
623
|
-
}
|
|
624
|
-
})();
|
|
625
|
-
var SHA512 = C_algo.SHA512 = Hasher.extend({
|
|
626
|
-
_doReset: function () {
|
|
627
|
-
this._hash = new X64WordArray.init([new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)]);
|
|
628
|
-
},
|
|
629
|
-
_doProcessBlock: function (M, offset) {
|
|
630
|
-
var H = this._hash.words;
|
|
631
|
-
var H0 = H[0];
|
|
632
|
-
var H1 = H[1];
|
|
633
|
-
var H2 = H[2];
|
|
634
|
-
var H3 = H[3];
|
|
635
|
-
var H4 = H[4];
|
|
636
|
-
var H5 = H[5];
|
|
637
|
-
var H6 = H[6];
|
|
638
|
-
var H7 = H[7];
|
|
639
|
-
var H0h = H0.high;
|
|
640
|
-
var H0l = H0.low;
|
|
641
|
-
var H1h = H1.high;
|
|
642
|
-
var H1l = H1.low;
|
|
643
|
-
var H2h = H2.high;
|
|
644
|
-
var H2l = H2.low;
|
|
645
|
-
var H3h = H3.high;
|
|
646
|
-
var H3l = H3.low;
|
|
647
|
-
var H4h = H4.high;
|
|
648
|
-
var H4l = H4.low;
|
|
649
|
-
var H5h = H5.high;
|
|
650
|
-
var H5l = H5.low;
|
|
651
|
-
var H6h = H6.high;
|
|
652
|
-
var H6l = H6.low;
|
|
653
|
-
var H7h = H7.high;
|
|
654
|
-
var H7l = H7.low;
|
|
655
|
-
var ah = H0h;
|
|
656
|
-
var al = H0l;
|
|
657
|
-
var bh = H1h;
|
|
658
|
-
var bl = H1l;
|
|
659
|
-
var ch = H2h;
|
|
660
|
-
var cl = H2l;
|
|
661
|
-
var dh = H3h;
|
|
662
|
-
var dl = H3l;
|
|
663
|
-
var eh = H4h;
|
|
664
|
-
var el = H4l;
|
|
665
|
-
var fh = H5h;
|
|
666
|
-
var fl = H5l;
|
|
667
|
-
var gh = H6h;
|
|
668
|
-
var gl = H6l;
|
|
669
|
-
var hh = H7h;
|
|
670
|
-
var hl = H7l;
|
|
671
|
-
for (var i = 0; i < 80; i++) {
|
|
672
|
-
var Wi = W[i];
|
|
673
|
-
if (i < 16) {
|
|
674
|
-
var Wih = Wi.high = M[offset + i * 2] | 0;
|
|
675
|
-
var Wil = Wi.low = M[offset + i * 2 + 1] | 0;
|
|
676
|
-
} else {
|
|
677
|
-
var gamma0x = W[i - 15];
|
|
678
|
-
var gamma0xh = gamma0x.high;
|
|
679
|
-
var gamma0xl = gamma0x.low;
|
|
680
|
-
var gamma0h = (gamma0xh >>> 1 | gamma0xl << 31) ^ (gamma0xh >>> 8 | gamma0xl << 24) ^ gamma0xh >>> 7;
|
|
681
|
-
var gamma0l = (gamma0xl >>> 1 | gamma0xh << 31) ^ (gamma0xl >>> 8 | gamma0xh << 24) ^ (gamma0xl >>> 7 | gamma0xh << 25);
|
|
682
|
-
var gamma1x = W[i - 2];
|
|
683
|
-
var gamma1xh = gamma1x.high;
|
|
684
|
-
var gamma1xl = gamma1x.low;
|
|
685
|
-
var gamma1h = (gamma1xh >>> 19 | gamma1xl << 13) ^ (gamma1xh << 3 | gamma1xl >>> 29) ^ gamma1xh >>> 6;
|
|
686
|
-
var gamma1l = (gamma1xl >>> 19 | gamma1xh << 13) ^ (gamma1xl << 3 | gamma1xh >>> 29) ^ (gamma1xl >>> 6 | gamma1xh << 26);
|
|
687
|
-
var Wi7 = W[i - 7];
|
|
688
|
-
var Wi7h = Wi7.high;
|
|
689
|
-
var Wi7l = Wi7.low;
|
|
690
|
-
var Wi16 = W[i - 16];
|
|
691
|
-
var Wi16h = Wi16.high;
|
|
692
|
-
var Wi16l = Wi16.low;
|
|
693
|
-
var Wil = gamma0l + Wi7l;
|
|
694
|
-
var Wih = gamma0h + Wi7h + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);
|
|
695
|
-
var Wil = Wil + gamma1l;
|
|
696
|
-
var Wih = Wih + gamma1h + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);
|
|
697
|
-
var Wil = Wil + Wi16l;
|
|
698
|
-
var Wih = Wih + Wi16h + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);
|
|
699
|
-
Wi.high = Wih;
|
|
700
|
-
Wi.low = Wil;
|
|
701
|
-
}
|
|
702
|
-
var chh = eh & fh ^ ~eh & gh;
|
|
703
|
-
var chl = el & fl ^ ~el & gl;
|
|
704
|
-
var majh = ah & bh ^ ah & ch ^ bh & ch;
|
|
705
|
-
var majl = al & bl ^ al & cl ^ bl & cl;
|
|
706
|
-
var sigma0h = (ah >>> 28 | al << 4) ^ (ah << 30 | al >>> 2) ^ (ah << 25 | al >>> 7);
|
|
707
|
-
var sigma0l = (al >>> 28 | ah << 4) ^ (al << 30 | ah >>> 2) ^ (al << 25 | ah >>> 7);
|
|
708
|
-
var sigma1h = (eh >>> 14 | el << 18) ^ (eh >>> 18 | el << 14) ^ (eh << 23 | el >>> 9);
|
|
709
|
-
var sigma1l = (el >>> 14 | eh << 18) ^ (el >>> 18 | eh << 14) ^ (el << 23 | eh >>> 9);
|
|
710
|
-
var Ki = K[i];
|
|
711
|
-
var Kih = Ki.high;
|
|
712
|
-
var Kil = Ki.low;
|
|
713
|
-
var t1l = hl + sigma1l;
|
|
714
|
-
var t1h = hh + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);
|
|
715
|
-
var t1l = t1l + chl;
|
|
716
|
-
var t1h = t1h + chh + (t1l >>> 0 < chl >>> 0 ? 1 : 0);
|
|
717
|
-
var t1l = t1l + Kil;
|
|
718
|
-
var t1h = t1h + Kih + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);
|
|
719
|
-
var t1l = t1l + Wil;
|
|
720
|
-
var t1h = t1h + Wih + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);
|
|
721
|
-
var t2l = sigma0l + majl;
|
|
722
|
-
var t2h = sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);
|
|
723
|
-
hh = gh;
|
|
724
|
-
hl = gl;
|
|
725
|
-
gh = fh;
|
|
726
|
-
gl = fl;
|
|
727
|
-
fh = eh;
|
|
728
|
-
fl = el;
|
|
729
|
-
el = dl + t1l | 0;
|
|
730
|
-
eh = dh + t1h + (el >>> 0 < dl >>> 0 ? 1 : 0) | 0;
|
|
731
|
-
dh = ch;
|
|
732
|
-
dl = cl;
|
|
733
|
-
ch = bh;
|
|
734
|
-
cl = bl;
|
|
735
|
-
bh = ah;
|
|
736
|
-
bl = al;
|
|
737
|
-
al = t1l + t2l | 0;
|
|
738
|
-
ah = t1h + t2h + (al >>> 0 < t1l >>> 0 ? 1 : 0) | 0;
|
|
739
|
-
}
|
|
740
|
-
H0l = H0.low = H0l + al;
|
|
741
|
-
H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0);
|
|
742
|
-
H1l = H1.low = H1l + bl;
|
|
743
|
-
H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0);
|
|
744
|
-
H2l = H2.low = H2l + cl;
|
|
745
|
-
H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0);
|
|
746
|
-
H3l = H3.low = H3l + dl;
|
|
747
|
-
H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0);
|
|
748
|
-
H4l = H4.low = H4l + el;
|
|
749
|
-
H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0);
|
|
750
|
-
H5l = H5.low = H5l + fl;
|
|
751
|
-
H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0);
|
|
752
|
-
H6l = H6.low = H6l + gl;
|
|
753
|
-
H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0);
|
|
754
|
-
H7l = H7.low = H7l + hl;
|
|
755
|
-
H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0);
|
|
756
|
-
},
|
|
757
|
-
_doFinalize: function () {
|
|
758
|
-
var data = this._data;
|
|
759
|
-
var dataWords = data.words;
|
|
760
|
-
var nBitsTotal = this._nDataBytes * 8;
|
|
761
|
-
var nBitsLeft = data.sigBytes * 8;
|
|
762
|
-
dataWords[nBitsLeft >>> 5] |= 0x80 << 24 - nBitsLeft % 32;
|
|
763
|
-
dataWords[(nBitsLeft + 128 >>> 10 << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);
|
|
764
|
-
dataWords[(nBitsLeft + 128 >>> 10 << 5) + 31] = nBitsTotal;
|
|
765
|
-
data.sigBytes = dataWords.length * 4;
|
|
766
|
-
this._process();
|
|
767
|
-
var hash = this._hash.toX32();
|
|
768
|
-
return hash;
|
|
769
|
-
},
|
|
770
|
-
clone: function () {
|
|
771
|
-
var clone = Hasher.clone.call(this);
|
|
772
|
-
clone._hash = this._hash.clone();
|
|
773
|
-
return clone;
|
|
774
|
-
},
|
|
775
|
-
blockSize: 1024 / 32
|
|
776
|
-
});
|
|
777
|
-
C.SHA512 = Hasher._createHelper(SHA512);
|
|
778
|
-
C.HmacSHA512 = Hasher._createHmacHelper(SHA512);
|
|
779
|
-
})();
|
|
780
|
-
return CryptoJS.SHA512;
|
|
781
|
-
});
|
|
782
|
-
});
|
|
783
|
-
|
|
784
|
-
var hmacSha512 = createCommonjsModule(function (module, exports) {
|
|
785
|
-
(function (root, factory, undef) {
|
|
786
|
-
{
|
|
787
|
-
module.exports = exports = factory(core, x64Core, sha512, hmac);
|
|
788
|
-
}
|
|
789
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
790
|
-
return CryptoJS.HmacSHA512;
|
|
791
|
-
});
|
|
792
|
-
});
|
|
793
|
-
|
|
794
|
-
var encHex = createCommonjsModule(function (module, exports) {
|
|
795
|
-
(function (root, factory) {
|
|
796
|
-
{
|
|
797
|
-
module.exports = exports = factory(core);
|
|
798
|
-
}
|
|
799
|
-
})(commonjsGlobal, function (CryptoJS) {
|
|
800
|
-
return CryptoJS.enc.Hex;
|
|
801
|
-
});
|
|
802
|
-
});
|
|
803
|
-
|
|
804
|
-
const {
|
|
805
|
-
WordArray
|
|
806
|
-
} = core.lib;
|
|
807
|
-
function cryptoEncoder(algorithm) {
|
|
808
|
-
switch (algorithm) {
|
|
809
|
-
case otplibCore.HashAlgorithms.SHA1:
|
|
810
|
-
return hmacSha1;
|
|
811
|
-
case otplibCore.HashAlgorithms.SHA256:
|
|
812
|
-
return hmacSha256;
|
|
813
|
-
case otplibCore.HashAlgorithms.SHA512:
|
|
814
|
-
return hmacSha512;
|
|
815
|
-
default:
|
|
816
|
-
throw new Error(`Expecting argument 0 to be one of ${otplibCore.HASH_ALGORITHMS.join(', ')}. Received ${algorithm}.`);
|
|
817
|
-
}
|
|
818
|
-
}
|
|
819
|
-
const createDigest = (algorithm, hmacKey, counter) => {
|
|
820
|
-
const encoder = cryptoEncoder(algorithm);
|
|
821
|
-
const message = encHex.parse(counter);
|
|
822
|
-
const secret = encHex.parse(hmacKey);
|
|
823
|
-
return String(encoder(message, secret));
|
|
824
|
-
};
|
|
825
|
-
const createRandomBytes = (size, encoding) => {
|
|
826
|
-
const words = WordArray.random(size);
|
|
827
|
-
return Buffer.from(words.toString(), 'hex').toString(encoding);
|
|
828
|
-
};
|
|
829
|
-
|
|
830
|
-
exports.createDigest = createDigest;
|
|
831
|
-
exports.createRandomBytes = createRandomBytes;
|