1 |
|
2 | const { encode:n, toHEX:p } = require('worktop/utils');
|
3 | function i(e, t) {
|
4 | return crypto.subtle.digest(e, n(t)).then(p);
|
5 | }
|
6 | var f = i.bind(0, "SHA-1"), m = i.bind(0, "SHA-256"), c = i.bind(0, "SHA-384"), A = i.bind(0, "SHA-512");
|
7 | function u(e, t, r) {
|
8 | return crypto.subtle.importKey("raw", n(t), e, !1, r);
|
9 | }
|
10 | function b(e, t, r = !1) {
|
11 | return crypto.subtle.generateKey(e, r, t);
|
12 | }
|
13 | function d(e, t, r) {
|
14 | return crypto.subtle.sign(e, t, n(r));
|
15 | }
|
16 | function h(e, t, r, o) {
|
17 | return crypto.subtle.verify(e, t, o, n(r));
|
18 | }
|
19 | function K(e, t) {
|
20 | if (e.byteLength !== t.byteLength)
|
21 | return !1;
|
22 | let r = e.length, o = !1;
|
23 | for (; r-- > 0; )
|
24 | e[r] !== t[r] && (o = !0);
|
25 | return !o;
|
26 | }
|
27 | async function x(e, t, r, o, s) {
|
28 | let y = await u("PBKDF2", t, ["deriveBits"]), g = {
|
29 | name: "PBKDF2",
|
30 | salt: n(r),
|
31 | iterations: o,
|
32 | hash: e
|
33 | };
|
34 | return crypto.subtle.deriveBits(g, y, s << 3);
|
35 | }
|
36 |
|
37 |
|
38 | exports.PBKDF2 = x;
|
39 | exports.SHA1 = f;
|
40 | exports.SHA256 = m;
|
41 | exports.SHA384 = c;
|
42 | exports.SHA512 = A;
|
43 | exports.digest = i;
|
44 | exports.keygen = b;
|
45 | exports.keyload = u;
|
46 | exports.sign = d;
|
47 | exports.timingSafeEqual = K;
|
48 | exports.verify = h; |
\ | No newline at end of file |