@emqx/local-storage-encryption
Advanced tools
Comparing version 0.1.2 to 0.2.0
@@ -1,17 +0,17 @@ | ||
var dr = Object.defineProperty; | ||
var hr = (k, E, x) => E in k ? dr(k, E, { enumerable: !0, configurable: !0, writable: !0, value: x }) : k[E] = x; | ||
var rr = (k, E, x) => (hr(k, typeof E != "symbol" ? E + "" : E, x), x); | ||
var ur = Object.defineProperty; | ||
var dr = (k, z, _) => z in k ? ur(k, z, { enumerable: !0, configurable: !0, writable: !0, value: _ }) : k[z] = _; | ||
var X = (k, z, _) => (dr(k, typeof z != "symbol" ? z + "" : z, _), _); | ||
var K = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; | ||
function lr(k) { | ||
var E = k.default; | ||
if (typeof E == "function") { | ||
var x = function() { | ||
return E.apply(this, arguments); | ||
function hr(k) { | ||
var z = k.default; | ||
if (typeof z == "function") { | ||
var _ = function() { | ||
return z.apply(this, arguments); | ||
}; | ||
x.prototype = E.prototype; | ||
_.prototype = z.prototype; | ||
} else | ||
x = {}; | ||
return Object.defineProperty(x, "__esModule", { value: !0 }), Object.keys(k).forEach(function(g) { | ||
_ = {}; | ||
return Object.defineProperty(_, "__esModule", { value: !0 }), Object.keys(k).forEach(function(g) { | ||
var D = Object.getOwnPropertyDescriptor(k, g); | ||
Object.defineProperty(x, g, D.get ? D : { | ||
Object.defineProperty(_, g, D.get ? D : { | ||
enumerable: !0, | ||
@@ -22,22 +22,22 @@ get: function() { | ||
}); | ||
}), x; | ||
}), _; | ||
} | ||
var fr = { exports: {} }; | ||
function pr(k) { | ||
var cr = { exports: {} }; | ||
function lr(k) { | ||
throw new Error('Could not dynamically require "' + k + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); | ||
} | ||
var j = { exports: {} }; | ||
const yr = {}, xr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ | ||
var V = { exports: {} }; | ||
const pr = {}, yr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ | ||
__proto__: null, | ||
default: yr | ||
}, Symbol.toStringTag, { value: "Module" })), _r = /* @__PURE__ */ lr(xr); | ||
var er; | ||
default: pr | ||
}, Symbol.toStringTag, { value: "Module" })), _r = /* @__PURE__ */ hr(yr); | ||
var rr; | ||
function M() { | ||
return er || (er = 1, function(k, E) { | ||
(function(x, g) { | ||
return rr || (rr = 1, function(k, z) { | ||
(function(_, g) { | ||
k.exports = g(); | ||
})(K, function() { | ||
var x = x || function(g, D) { | ||
var _ = _ || function(g, D) { | ||
var w; | ||
if (typeof window < "u" && window.crypto && (w = window.crypto), typeof self < "u" && self.crypto && (w = self.crypto), typeof globalThis < "u" && globalThis.crypto && (w = globalThis.crypto), !w && typeof window < "u" && window.msCrypto && (w = window.msCrypto), !w && typeof K < "u" && K.crypto && (w = K.crypto), !w && typeof pr == "function") | ||
if (typeof window < "u" && window.crypto && (w = window.crypto), typeof self < "u" && self.crypto && (w = self.crypto), typeof globalThis < "u" && globalThis.crypto && (w = globalThis.crypto), !w && typeof window < "u" && window.msCrypto && (w = window.msCrypto), !w && typeof K < "u" && K.crypto && (w = K.crypto), !w && typeof lr == "function") | ||
try { | ||
@@ -61,3 +61,3 @@ w = _r; | ||
throw new Error("Native crypto module could not be used to get secure random number."); | ||
}, z = Object.create || function() { | ||
}, E = Object.create || function() { | ||
function t() { | ||
@@ -72,3 +72,3 @@ } | ||
extend: function(t) { | ||
var r = z(this); | ||
var r = E(this); | ||
return t && r.mixIn(t), (!r.hasOwnProperty("init") || this.init === r.init) && (r.init = function() { | ||
@@ -162,3 +162,3 @@ r.$super.init.apply(this, arguments); | ||
} | ||
}, _ = n.BufferedBlockAlgorithm = B.extend({ | ||
}, x = n.BufferedBlockAlgorithm = B.extend({ | ||
reset: function() { | ||
@@ -187,3 +187,3 @@ this._data = new m.init(), this._nDataBytes = 0; | ||
}); | ||
n.Hasher = _.extend({ | ||
n.Hasher = x.extend({ | ||
cfg: B.extend(), | ||
@@ -194,3 +194,3 @@ init: function(t) { | ||
reset: function() { | ||
_.reset.call(this), this._doReset(); | ||
x.reset.call(this), this._doReset(); | ||
}, | ||
@@ -220,14 +220,14 @@ update: function(t) { | ||
}(Math); | ||
return x; | ||
return _; | ||
}); | ||
}(j)), j.exports; | ||
}(V)), V.exports; | ||
} | ||
var U = { exports: {} }, tr; | ||
function gr() { | ||
return tr || (tr = 1, function(k, E) { | ||
(function(x, g) { | ||
var j = { exports: {} }, er; | ||
function xr() { | ||
return er || (er = 1, function(k, z) { | ||
(function(_, g) { | ||
k.exports = g(M()); | ||
})(K, function(x) { | ||
})(K, function(_) { | ||
return function() { | ||
var g = x, D = g.lib, w = D.WordArray, F = g.enc; | ||
var g = _, D = g.lib, w = D.WordArray, F = g.enc; | ||
F.Base64 = { | ||
@@ -238,3 +238,3 @@ stringify: function(H) { | ||
for (var d = [], l = 0; l < B; l += 3) | ||
for (var C = n[l >>> 2] >>> 24 - l % 4 * 8 & 255, p = n[l + 1 >>> 2] >>> 24 - (l + 1) % 4 * 8 & 255, _ = n[l + 2 >>> 2] >>> 24 - (l + 2) % 4 * 8 & 255, P = C << 16 | p << 8 | _, t = 0; t < 4 && l + t * 0.75 < B; t++) | ||
for (var C = n[l >>> 2] >>> 24 - l % 4 * 8 & 255, p = n[l + 1 >>> 2] >>> 24 - (l + 1) % 4 * 8 & 255, x = n[l + 2 >>> 2] >>> 24 - (l + 2) % 4 * 8 & 255, P = C << 16 | p << 8 | x, t = 0; t < 4 && l + t * 0.75 < B; t++) | ||
d.push(m.charAt(P >>> 6 * (3 - t) & 63)); | ||
@@ -259,26 +259,26 @@ var r = m.charAt(64); | ||
} | ||
return z(H, n, m); | ||
return E(H, n, m); | ||
}, | ||
_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" | ||
}; | ||
function z(H, n, B) { | ||
function E(H, n, B) { | ||
for (var m = [], d = 0, l = 0; l < n; l++) | ||
if (l % 4) { | ||
var C = B[H.charCodeAt(l - 1)] << l % 4 * 2, p = B[H.charCodeAt(l)] >>> 6 - l % 4 * 2, _ = C | p; | ||
m[d >>> 2] |= _ << 24 - d % 4 * 8, d++; | ||
var C = B[H.charCodeAt(l - 1)] << l % 4 * 2, p = B[H.charCodeAt(l)] >>> 6 - l % 4 * 2, x = C | p; | ||
m[d >>> 2] |= x << 24 - d % 4 * 8, d++; | ||
} | ||
return w.create(m, d); | ||
} | ||
}(), x.enc.Base64; | ||
}(), _.enc.Base64; | ||
}); | ||
}(U)), U.exports; | ||
}(j)), j.exports; | ||
} | ||
var G = { exports: {} }, nr; | ||
function mr() { | ||
return nr || (nr = 1, function(k, E) { | ||
(function(x, g) { | ||
var U = { exports: {} }, tr; | ||
function gr() { | ||
return tr || (tr = 1, function(k, z) { | ||
(function(_, g) { | ||
k.exports = g(M()); | ||
})(K, function(x) { | ||
})(K, function(_) { | ||
return function(g) { | ||
var D = x, w = D.lib, F = w.WordArray, z = w.Hasher, H = D.algo, n = []; | ||
var D = _, w = D.lib, F = w.WordArray, E = w.Hasher, H = D.algo, n = []; | ||
(function() { | ||
@@ -288,3 +288,3 @@ for (var p = 0; p < 64; p++) | ||
})(); | ||
var B = H.MD5 = z.extend({ | ||
var B = H.MD5 = E.extend({ | ||
_doReset: function() { | ||
@@ -298,15 +298,15 @@ this._hash = new F.init([ | ||
}, | ||
_doProcessBlock: function(p, _) { | ||
_doProcessBlock: function(p, x) { | ||
for (var P = 0; P < 16; P++) { | ||
var t = _ + P, r = p[t]; | ||
var t = x + P, r = p[t]; | ||
p[t] = (r << 8 | r >>> 24) & 16711935 | (r << 24 | r >>> 8) & 4278255360; | ||
} | ||
var a = this._hash.words, u = p[_ + 0], y = p[_ + 1], b = p[_ + 2], O = p[_ + 3], W = p[_ + 4], e = p[_ + 5], i = p[_ + 6], h = p[_ + 7], v = p[_ + 8], S = p[_ + 9], A = p[_ + 10], R = p[_ + 11], q = p[_ + 12], T = p[_ + 13], I = p[_ + 14], L = p[_ + 15], o = a[0], s = a[1], c = a[2], f = a[3]; | ||
var a = this._hash.words, u = p[x + 0], y = p[x + 1], b = p[x + 2], O = p[x + 3], W = p[x + 4], e = p[x + 5], i = p[x + 6], h = p[x + 7], v = p[x + 8], S = p[x + 9], A = p[x + 10], R = p[x + 11], q = p[x + 12], T = p[x + 13], I = p[x + 14], L = p[x + 15], o = a[0], s = a[1], c = a[2], f = a[3]; | ||
o = m(o, s, c, f, u, 7, n[0]), f = m(f, o, s, c, y, 12, n[1]), c = m(c, f, o, s, b, 17, n[2]), s = m(s, c, f, o, O, 22, n[3]), o = m(o, s, c, f, W, 7, n[4]), f = m(f, o, s, c, e, 12, n[5]), c = m(c, f, o, s, i, 17, n[6]), s = m(s, c, f, o, h, 22, n[7]), o = m(o, s, c, f, v, 7, n[8]), f = m(f, o, s, c, S, 12, n[9]), c = m(c, f, o, s, A, 17, n[10]), s = m(s, c, f, o, R, 22, n[11]), o = m(o, s, c, f, q, 7, n[12]), f = m(f, o, s, c, T, 12, n[13]), c = m(c, f, o, s, I, 17, n[14]), s = m(s, c, f, o, L, 22, n[15]), o = d(o, s, c, f, y, 5, n[16]), f = d(f, o, s, c, i, 9, n[17]), c = d(c, f, o, s, R, 14, n[18]), s = d(s, c, f, o, u, 20, n[19]), o = d(o, s, c, f, e, 5, n[20]), f = d(f, o, s, c, A, 9, n[21]), c = d(c, f, o, s, L, 14, n[22]), s = d(s, c, f, o, W, 20, n[23]), o = d(o, s, c, f, S, 5, n[24]), f = d(f, o, s, c, I, 9, n[25]), c = d(c, f, o, s, O, 14, n[26]), s = d(s, c, f, o, v, 20, n[27]), o = d(o, s, c, f, T, 5, n[28]), f = d(f, o, s, c, b, 9, n[29]), c = d(c, f, o, s, h, 14, n[30]), s = d(s, c, f, o, q, 20, n[31]), o = l(o, s, c, f, e, 4, n[32]), f = l(f, o, s, c, v, 11, n[33]), c = l(c, f, o, s, R, 16, n[34]), s = l(s, c, f, o, I, 23, n[35]), o = l(o, s, c, f, y, 4, n[36]), f = l(f, o, s, c, W, 11, n[37]), c = l(c, f, o, s, h, 16, n[38]), s = l(s, c, f, o, A, 23, n[39]), o = l(o, s, c, f, T, 4, n[40]), f = l(f, o, s, c, u, 11, n[41]), c = l(c, f, o, s, O, 16, n[42]), s = l(s, c, f, o, i, 23, n[43]), o = l(o, s, c, f, S, 4, n[44]), f = l(f, o, s, c, q, 11, n[45]), c = l(c, f, o, s, L, 16, n[46]), s = l(s, c, f, o, b, 23, n[47]), o = C(o, s, c, f, u, 6, n[48]), f = C(f, o, s, c, h, 10, n[49]), c = C(c, f, o, s, I, 15, n[50]), s = C(s, c, f, o, e, 21, n[51]), o = C(o, s, c, f, q, 6, n[52]), f = C(f, o, s, c, O, 10, n[53]), c = C(c, f, o, s, A, 15, n[54]), s = C(s, c, f, o, y, 21, n[55]), o = C(o, s, c, f, v, 6, n[56]), f = C(f, o, s, c, L, 10, n[57]), c = C(c, f, o, s, i, 15, n[58]), s = C(s, c, f, o, T, 21, n[59]), o = C(o, s, c, f, W, 6, n[60]), f = C(f, o, s, c, R, 10, n[61]), c = C(c, f, o, s, b, 15, n[62]), s = C(s, c, f, o, S, 21, n[63]), a[0] = a[0] + o | 0, a[1] = a[1] + s | 0, a[2] = a[2] + c | 0, a[3] = a[3] + f | 0; | ||
}, | ||
_doFinalize: function() { | ||
var p = this._data, _ = p.words, P = this._nDataBytes * 8, t = p.sigBytes * 8; | ||
_[t >>> 5] |= 128 << 24 - t % 32; | ||
var p = this._data, x = p.words, P = this._nDataBytes * 8, t = p.sigBytes * 8; | ||
x[t >>> 5] |= 128 << 24 - t % 32; | ||
var r = g.floor(P / 4294967296), a = P; | ||
_[(t + 64 >>> 9 << 4) + 15] = (r << 8 | r >>> 24) & 16711935 | (r << 24 | r >>> 8) & 4278255360, _[(t + 64 >>> 9 << 4) + 14] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360, p.sigBytes = (_.length + 1) * 4, this._process(); | ||
x[(t + 64 >>> 9 << 4) + 15] = (r << 8 | r >>> 24) & 16711935 | (r << 24 | r >>> 8) & 4278255360, x[(t + 64 >>> 9 << 4) + 14] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360, p.sigBytes = (x.length + 1) * 4, this._process(); | ||
for (var u = this._hash, y = u.words, b = 0; b < 4; b++) { | ||
@@ -319,35 +319,35 @@ var O = y[b]; | ||
clone: function() { | ||
var p = z.clone.call(this); | ||
var p = E.clone.call(this); | ||
return p._hash = this._hash.clone(), p; | ||
} | ||
}); | ||
function m(p, _, P, t, r, a, u) { | ||
var y = p + (_ & P | ~_ & t) + r + u; | ||
return (y << a | y >>> 32 - a) + _; | ||
function m(p, x, P, t, r, a, u) { | ||
var y = p + (x & P | ~x & t) + r + u; | ||
return (y << a | y >>> 32 - a) + x; | ||
} | ||
function d(p, _, P, t, r, a, u) { | ||
var y = p + (_ & t | P & ~t) + r + u; | ||
return (y << a | y >>> 32 - a) + _; | ||
function d(p, x, P, t, r, a, u) { | ||
var y = p + (x & t | P & ~t) + r + u; | ||
return (y << a | y >>> 32 - a) + x; | ||
} | ||
function l(p, _, P, t, r, a, u) { | ||
var y = p + (_ ^ P ^ t) + r + u; | ||
return (y << a | y >>> 32 - a) + _; | ||
function l(p, x, P, t, r, a, u) { | ||
var y = p + (x ^ P ^ t) + r + u; | ||
return (y << a | y >>> 32 - a) + x; | ||
} | ||
function C(p, _, P, t, r, a, u) { | ||
var y = p + (P ^ (_ | ~t)) + r + u; | ||
return (y << a | y >>> 32 - a) + _; | ||
function C(p, x, P, t, r, a, u) { | ||
var y = p + (P ^ (x | ~t)) + r + u; | ||
return (y << a | y >>> 32 - a) + x; | ||
} | ||
D.MD5 = z._createHelper(B), D.HmacMD5 = z._createHmacHelper(B); | ||
}(Math), x.MD5; | ||
D.MD5 = E._createHelper(B), D.HmacMD5 = E._createHmacHelper(B); | ||
}(Math), _.MD5; | ||
}); | ||
}(G)), G.exports; | ||
}(U)), U.exports; | ||
} | ||
var J = { exports: {} }, Q = { exports: {} }, ar; | ||
function Br() { | ||
return ar || (ar = 1, function(k, E) { | ||
(function(x, g) { | ||
var G = { exports: {} }, J = { exports: {} }, nr; | ||
function mr() { | ||
return nr || (nr = 1, function(k, z) { | ||
(function(_, g) { | ||
k.exports = g(M()); | ||
})(K, function(x) { | ||
})(K, function(_) { | ||
return function() { | ||
var g = x, D = g.lib, w = D.WordArray, F = D.Hasher, z = g.algo, H = [], n = z.SHA1 = F.extend({ | ||
var g = _, D = g.lib, w = D.WordArray, F = D.Hasher, E = g.algo, H = [], n = E.SHA1 = F.extend({ | ||
_doReset: function() { | ||
@@ -363,3 +363,3 @@ this._hash = new w.init([ | ||
_doProcessBlock: function(B, m) { | ||
for (var d = this._hash.words, l = d[0], C = d[1], p = d[2], _ = d[3], P = d[4], t = 0; t < 80; t++) { | ||
for (var d = this._hash.words, l = d[0], C = d[1], p = d[2], x = d[3], P = d[4], t = 0; t < 80; t++) { | ||
if (t < 16) | ||
@@ -372,5 +372,5 @@ H[t] = B[m + t] | 0; | ||
var a = (l << 5 | l >>> 27) + P + H[t]; | ||
t < 20 ? a += (C & p | ~C & _) + 1518500249 : t < 40 ? a += (C ^ p ^ _) + 1859775393 : t < 60 ? a += (C & p | C & _ | p & _) - 1894007588 : a += (C ^ p ^ _) - 899497514, P = _, _ = p, p = C << 30 | C >>> 2, C = l, l = a; | ||
t < 20 ? a += (C & p | ~C & x) + 1518500249 : t < 40 ? a += (C ^ p ^ x) + 1859775393 : t < 60 ? a += (C & p | C & x | p & x) - 1894007588 : a += (C ^ p ^ x) - 899497514, P = x, x = p, p = C << 30 | C >>> 2, C = l, l = a; | ||
} | ||
d[0] = d[0] + l | 0, d[1] = d[1] + C | 0, d[2] = d[2] + p | 0, d[3] = d[3] + _ | 0, d[4] = d[4] + P | 0; | ||
d[0] = d[0] + l | 0, d[1] = d[1] + C | 0, d[2] = d[2] + p | 0, d[3] = d[3] + x | 0, d[4] = d[4] + P | 0; | ||
}, | ||
@@ -387,21 +387,21 @@ _doFinalize: function() { | ||
g.SHA1 = F._createHelper(n), g.HmacSHA1 = F._createHmacHelper(n); | ||
}(), x.SHA1; | ||
}(), _.SHA1; | ||
}); | ||
}(Q)), Q.exports; | ||
}(J)), J.exports; | ||
} | ||
var Y = { exports: {} }, ir; | ||
function Cr() { | ||
return ir || (ir = 1, function(k, E) { | ||
(function(x, g) { | ||
var Q = { exports: {} }, ar; | ||
function Br() { | ||
return ar || (ar = 1, function(k, z) { | ||
(function(_, g) { | ||
k.exports = g(M()); | ||
})(K, function(x) { | ||
})(K, function(_) { | ||
(function() { | ||
var g = x, D = g.lib, w = D.Base, F = g.enc, z = F.Utf8, H = g.algo; | ||
var g = _, D = g.lib, w = D.Base, F = g.enc, E = F.Utf8, H = g.algo; | ||
H.HMAC = w.extend({ | ||
init: function(n, B) { | ||
n = this._hasher = new n.init(), typeof B == "string" && (B = z.parse(B)); | ||
n = this._hasher = new n.init(), typeof B == "string" && (B = E.parse(B)); | ||
var m = n.blockSize, d = m * 4; | ||
B.sigBytes > d && (B = n.finalize(B)), B.clamp(); | ||
for (var l = this._oKey = B.clone(), C = this._iKey = B.clone(), p = l.words, _ = C.words, P = 0; P < m; P++) | ||
p[P] ^= 1549556828, _[P] ^= 909522486; | ||
for (var l = this._oKey = B.clone(), C = this._iKey = B.clone(), p = l.words, x = C.words, P = 0; P < m; P++) | ||
p[P] ^= 1549556828, x[P] ^= 909522486; | ||
l.sigBytes = C.sigBytes = d, this.reset(); | ||
@@ -425,12 +425,12 @@ }, | ||
}); | ||
}(Y)), Y.exports; | ||
}(Q)), Q.exports; | ||
} | ||
var or; | ||
function vr() { | ||
return or || (or = 1, function(k, E) { | ||
(function(x, g, D) { | ||
k.exports = g(M(), Br(), Cr()); | ||
})(K, function(x) { | ||
var ir; | ||
function fr() { | ||
return ir || (ir = 1, function(k, z) { | ||
(function(_, g, D) { | ||
k.exports = g(M(), mr(), Br()); | ||
})(K, function(_) { | ||
return function() { | ||
var g = x, D = g.lib, w = D.Base, F = D.WordArray, z = g.algo, H = z.MD5, n = z.EvpKDF = w.extend({ | ||
var g = _, D = g.lib, w = D.Base, F = D.WordArray, E = g.algo, H = E.MD5, n = E.EvpKDF = w.extend({ | ||
cfg: w.extend({ | ||
@@ -445,3 +445,3 @@ keySize: 128 / 32, | ||
compute: function(B, m) { | ||
for (var d, l = this.cfg, C = l.hasher.create(), p = F.create(), _ = p.words, P = l.keySize, t = l.iterations; _.length < P; ) { | ||
for (var d, l = this.cfg, C = l.hasher.create(), p = F.create(), x = p.words, P = l.keySize, t = l.iterations; x.length < P; ) { | ||
d && C.update(d), d = C.update(B).finalize(m), C.reset(); | ||
@@ -458,14 +458,14 @@ for (var r = 1; r < t; r++) | ||
}; | ||
}(), x.EvpKDF; | ||
}(), _.EvpKDF; | ||
}); | ||
}(J)), J.exports; | ||
}(G)), G.exports; | ||
} | ||
var Z = { exports: {} }, sr; | ||
function br() { | ||
return sr || (sr = 1, function(k, E) { | ||
(function(x, g, D) { | ||
k.exports = g(M(), vr()); | ||
})(K, function(x) { | ||
x.lib.Cipher || function(g) { | ||
var D = x, w = D.lib, F = w.Base, z = w.WordArray, H = w.BufferedBlockAlgorithm, n = D.enc; | ||
var Y = { exports: {} }, or; | ||
function Cr() { | ||
return or || (or = 1, function(k, z) { | ||
(function(_, g, D) { | ||
k.exports = g(M(), fr()); | ||
})(K, function(_) { | ||
_.lib.Cipher || function(g) { | ||
var D = _, w = D.lib, F = w.Base, E = w.WordArray, H = w.BufferedBlockAlgorithm, n = D.enc; | ||
n.Utf8; | ||
@@ -531,3 +531,3 @@ var B = n.Base64, m = D.algo, d = m.EvpKDF, l = w.Cipher = H.extend({ | ||
} | ||
}), _ = C.CBC = function() { | ||
}), x = C.CBC = function() { | ||
var e = p.extend(); | ||
@@ -556,3 +556,3 @@ e.Encryptor = e.extend({ | ||
A.push(S); | ||
var q = z.create(A, v); | ||
var q = E.create(A, v); | ||
e.concat(q); | ||
@@ -567,3 +567,3 @@ }, | ||
cfg: l.cfg.extend({ | ||
mode: _, | ||
mode: x, | ||
padding: t | ||
@@ -596,7 +596,7 @@ }), | ||
var i, h = e.ciphertext, v = e.salt; | ||
return v ? i = z.create([1398893684, 1701076831]).concat(v).concat(h) : i = h, i.toString(B); | ||
return v ? i = E.create([1398893684, 1701076831]).concat(v).concat(h) : i = h, i.toString(B); | ||
}, | ||
parse: function(e) { | ||
var i, h = B.parse(e), v = h.words; | ||
return v[0] == 1398893684 && v[1] == 1701076831 && (i = z.create(v.slice(2, 4)), v.splice(0, 4), h.sigBytes -= 16), r.create({ ciphertext: h, salt: i }); | ||
return v[0] == 1398893684 && v[1] == 1701076831 && (i = E.create(v.slice(2, 4)), v.splice(0, 4), h.sigBytes -= 16), r.create({ ciphertext: h, salt: i }); | ||
} | ||
@@ -631,4 +631,4 @@ }, y = w.SerializableCipher = F.extend({ | ||
execute: function(e, i, h, v) { | ||
v || (v = z.random(64 / 8)); | ||
var S = d.create({ keySize: i + h }).compute(e, v), A = z.create(S.words.slice(i), h * 4); | ||
v || (v = E.random(64 / 8)); | ||
var S = d.create({ keySize: i + h }).compute(e, v), A = E.create(S.words.slice(i), h * 4); | ||
return S.sigBytes = i * 4, r.create({ key: S, iv: A, salt: v }); | ||
@@ -657,10 +657,10 @@ } | ||
}); | ||
}(Z)), Z.exports; | ||
}(Y)), Y.exports; | ||
} | ||
(function(k, E) { | ||
(function(x, g, D) { | ||
k.exports = g(M(), gr(), mr(), vr(), br()); | ||
})(K, function(x) { | ||
(function(k, z) { | ||
(function(_, g, D) { | ||
k.exports = g(M(), xr(), gr(), fr(), Cr()); | ||
})(K, function(_) { | ||
return function() { | ||
var g = x, D = g.lib, w = D.BlockCipher, F = g.algo, z = [], H = [], n = [], B = [], m = [], d = [], l = [], C = [], p = [], _ = []; | ||
var g = _, D = g.lib, w = D.BlockCipher, F = g.algo, E = [], H = [], n = [], B = [], m = [], d = [], l = [], C = [], p = [], x = []; | ||
(function() { | ||
@@ -671,7 +671,7 @@ for (var r = [], a = 0; a < 256; a++) | ||
var b = y ^ y << 1 ^ y << 2 ^ y << 3 ^ y << 4; | ||
b = b >>> 8 ^ b & 255 ^ 99, z[u] = b, H[b] = u; | ||
b = b >>> 8 ^ b & 255 ^ 99, E[u] = b, H[b] = u; | ||
var O = r[u], W = r[O], e = r[W], i = r[b] * 257 ^ b * 16843008; | ||
n[u] = i << 24 | i >>> 8, B[u] = i << 16 | i >>> 16, m[u] = i << 8 | i >>> 24, d[u] = i; | ||
var i = e * 16843009 ^ W * 65537 ^ O * 257 ^ u * 16843008; | ||
l[b] = i << 24 | i >>> 8, C[b] = i << 16 | i >>> 16, p[b] = i << 8 | i >>> 24, _[b] = i, u ? (u = O ^ r[r[r[e ^ O]]], y ^= r[r[y]]) : u = y = 1; | ||
l[b] = i << 24 | i >>> 8, C[b] = i << 16 | i >>> 16, p[b] = i << 8 | i >>> 24, x[b] = i, u ? (u = O ^ r[r[r[e ^ O]]], y ^= r[r[y]]) : u = y = 1; | ||
} | ||
@@ -684,3 +684,3 @@ })(); | ||
for (var a = this._keyPriorReset = this._key, u = a.words, y = a.sigBytes / 4, b = this._nRounds = y + 6, O = (b + 1) * 4, W = this._keySchedule = [], e = 0; e < O; e++) | ||
e < y ? W[e] = u[e] : (r = W[e - 1], e % y ? y > 6 && e % y == 4 && (r = z[r >>> 24] << 24 | z[r >>> 16 & 255] << 16 | z[r >>> 8 & 255] << 8 | z[r & 255]) : (r = r << 8 | r >>> 24, r = z[r >>> 24] << 24 | z[r >>> 16 & 255] << 16 | z[r >>> 8 & 255] << 8 | z[r & 255], r ^= P[e / y | 0] << 24), W[e] = W[e - y] ^ r); | ||
e < y ? W[e] = u[e] : (r = W[e - 1], e % y ? y > 6 && e % y == 4 && (r = E[r >>> 24] << 24 | E[r >>> 16 & 255] << 16 | E[r >>> 8 & 255] << 8 | E[r & 255]) : (r = r << 8 | r >>> 24, r = E[r >>> 24] << 24 | E[r >>> 16 & 255] << 16 | E[r >>> 8 & 255] << 8 | E[r & 255], r ^= P[e / y | 0] << 24), W[e] = W[e - y] ^ r); | ||
for (var i = this._invKeySchedule = [], h = 0; h < O; h++) { | ||
@@ -692,3 +692,3 @@ var e = O - h; | ||
var r = W[e - 4]; | ||
h < 4 || e <= 4 ? i[h] = r : i[h] = l[z[r >>> 24]] ^ C[z[r >>> 16 & 255]] ^ p[z[r >>> 8 & 255]] ^ _[z[r & 255]]; | ||
h < 4 || e <= 4 ? i[h] = r : i[h] = l[E[r >>> 24]] ^ C[E[r >>> 16 & 255]] ^ p[E[r >>> 8 & 255]] ^ x[E[r & 255]]; | ||
} | ||
@@ -698,7 +698,7 @@ } | ||
encryptBlock: function(r, a) { | ||
this._doCryptBlock(r, a, this._keySchedule, n, B, m, d, z); | ||
this._doCryptBlock(r, a, this._keySchedule, n, B, m, d, E); | ||
}, | ||
decryptBlock: function(r, a) { | ||
var u = r[a + 1]; | ||
r[a + 1] = r[a + 3], r[a + 3] = u, this._doCryptBlock(r, a, this._invKeySchedule, l, C, p, _, H); | ||
r[a + 1] = r[a + 3], r[a + 3] = u, this._doCryptBlock(r, a, this._invKeySchedule, l, C, p, x, H); | ||
var u = r[a + 1]; | ||
@@ -718,35 +718,39 @@ r[a + 1] = r[a + 3], r[a + 3] = u; | ||
g.AES = w._createHelper(t); | ||
}(), x.AES; | ||
}(), _.AES; | ||
}); | ||
})(fr); | ||
const V = fr.exports; | ||
var ur = { exports: {} }; | ||
(function(k, E) { | ||
(function(x, g) { | ||
})(cr); | ||
const $ = cr.exports; | ||
var vr = { exports: {} }; | ||
(function(k, z) { | ||
(function(_, g) { | ||
k.exports = g(M()); | ||
})(K, function(x) { | ||
return x.enc.Utf8; | ||
})(K, function(_) { | ||
return _.enc.Utf8; | ||
}); | ||
})(ur); | ||
const X = ur.exports, $ = class { | ||
static get(E) { | ||
return $.ls.getItem(E); | ||
})(vr); | ||
const Z = vr.exports; | ||
class N { | ||
static set backend(z) { | ||
z && (this.ls = z); | ||
} | ||
static getObj(E) { | ||
var x; | ||
return JSON.parse((x = $.get(E)) != null ? x : "{}"); | ||
static get(z) { | ||
return this.ls.getItem(z); | ||
} | ||
static set(E, x) { | ||
$.ls.setItem(E, x); | ||
static getObj(z) { | ||
var _; | ||
return JSON.parse((_ = this.get(z)) != null ? _ : "{}"); | ||
} | ||
static setObj(E, x) { | ||
$.set(E, JSON.stringify(x)); | ||
static set(z, _) { | ||
this.ls.setItem(z, _); | ||
} | ||
static remove(E) { | ||
$.ls.removeItem(E); | ||
static setObj(z, _) { | ||
this.set(z, JSON.stringify(_)); | ||
} | ||
}; | ||
let N = $; | ||
rr(N, "ls", window.localStorage); | ||
function cr() { | ||
static remove(z) { | ||
this.ls.removeItem(z); | ||
} | ||
} | ||
X(N, "ls", window.localStorage); | ||
const wr = N; | ||
function sr() { | ||
return (+new Date()).toString(36).slice(-5); | ||
@@ -756,19 +760,19 @@ } | ||
return Promise.all( | ||
k.providers.map(async (E) => { | ||
k.providers.map(async (z) => { | ||
try { | ||
const [x, g] = await E(), D = cr(), w = cr(), F = V.encrypt( | ||
const [_, g] = await z(), D = sr(), w = sr(), F = $.encrypt( | ||
JSON.stringify([D, w]), | ||
x | ||
_ | ||
).toString(); | ||
N.set(x, F); | ||
const z = V.encrypt( | ||
N.set(_, F); | ||
const E = $.encrypt( | ||
JSON.stringify(g), | ||
w | ||
).toString(); | ||
return N.set(D, z), { | ||
return N.set(D, E), { | ||
key: w, | ||
data: z | ||
data: E | ||
}; | ||
} catch (x) { | ||
throw x; | ||
} catch (_) { | ||
throw _; | ||
} | ||
@@ -779,20 +783,20 @@ }) | ||
async function kr(k) { | ||
const E = N.get(k); | ||
if (!E) | ||
const z = N.get(k); | ||
if (!z) | ||
throw new Error(`No data found by ${k}`); | ||
const [x, g] = JSON.parse( | ||
V.decrypt(E, k).toString(X) | ||
), D = N.get(x); | ||
const [_, g] = JSON.parse( | ||
$.decrypt(z, k).toString(Z) | ||
), D = N.get(_); | ||
if (!D) | ||
throw new Error(`No data found by ${x}`); | ||
throw new Error(`No data found by ${_}`); | ||
return JSON.parse( | ||
V.decrypt(D, g).toString(X) | ||
$.decrypt(D, g).toString(Z) | ||
); | ||
} | ||
function zr(k) { | ||
const E = N.get(k); | ||
if (!E) | ||
const z = N.get(k); | ||
if (!z) | ||
throw new Error(`No data found by ${k}`); | ||
const [x] = JSON.parse(V.decrypt(E, k).toString(X)); | ||
N.remove(k), N.remove(x); | ||
const [_] = JSON.parse($.decrypt(z, k).toString(Z)); | ||
N.remove(k), N.remove(_); | ||
} | ||
@@ -802,3 +806,4 @@ export { | ||
kr as decrypt, | ||
Sr as encrypt | ||
Sr as encrypt, | ||
wr as storage | ||
}; |
@@ -1,1 +0,1 @@ | ||
(function(K,F){typeof exports=="object"&&typeof module<"u"?F(exports):typeof define=="function"&&define.amd?define(["exports"],F):(K=typeof globalThis<"u"?globalThis:K||self,F(K.localStorageEncryption={}))})(this,function(K){"use strict";var wr=Object.defineProperty;var Sr=(K,F,j)=>F in K?wr(K,F,{enumerable:!0,configurable:!0,writable:!0,value:j}):K[F]=j;var hr=(K,F,j)=>(Sr(K,typeof F!="symbol"?F+"":F,j),j);var F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function j(D){var W=D.default;if(typeof W=="function"){var x=function(){return W.apply(this,arguments)};x.prototype=W.prototype}else x={};return Object.defineProperty(x,"__esModule",{value:!0}),Object.keys(D).forEach(function(g){var z=Object.getOwnPropertyDescriptor(D,g);Object.defineProperty(x,g,z.get?z:{enumerable:!0,get:function(){return D[g]}})}),x}var tr={exports:{}};function lr(D){throw new Error('Could not dynamically require "'+D+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var G={exports:{}};const pr=j(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var nr;function I(){return nr||(nr=1,function(D,W){(function(x,g){D.exports=g()})(F,function(){var x=x||function(g,z){var w;if(typeof window<"u"&&window.crypto&&(w=window.crypto),typeof self<"u"&&self.crypto&&(w=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(w=globalThis.crypto),!w&&typeof window<"u"&&window.msCrypto&&(w=window.msCrypto),!w&&typeof F<"u"&&F.crypto&&(w=F.crypto),!w&&typeof lr=="function")try{w=pr}catch{}var q=function(){if(w){if(typeof w.getRandomValues=="function")try{return w.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof w.randomBytes=="function")try{return w.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},k=Object.create||function(){function t(){}return function(r){var a;return t.prototype=r,a=new t,t.prototype=null,a}}(),A={},n=A.lib={},B=n.Base=function(){return{extend:function(t){var r=k(this);return t&&r.mixIn(t),(!r.hasOwnProperty("init")||this.init===r.init)&&(r.init=function(){r.$super.init.apply(this,arguments)}),r.init.prototype=r,r.$super=this,r},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),m=n.WordArray=B.extend({init:function(t,r){t=this.words=t||[],r!=z?this.sigBytes=r:this.sigBytes=t.length*4},toString:function(t){return(t||l).stringify(this)},concat:function(t){var r=this.words,a=t.words,u=this.sigBytes,y=t.sigBytes;if(this.clamp(),u%4)for(var b=0;b<y;b++){var O=a[b>>>2]>>>24-b%4*8&255;r[u+b>>>2]|=O<<24-(u+b)%4*8}else for(var P=0;P<y;P+=4)r[u+P>>>2]=a[P>>>2];return this.sigBytes+=y,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=g.ceil(r/4)},clone:function(){var t=B.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var r=[],a=0;a<t;a+=4)r.push(q());return new m.init(r,t)}}),d=A.enc={},l=d.Hex={stringify:function(t){for(var r=t.words,a=t.sigBytes,u=[],y=0;y<a;y++){var b=r[y>>>2]>>>24-y%4*8&255;u.push((b>>>4).toString(16)),u.push((b&15).toString(16))}return u.join("")},parse:function(t){for(var r=t.length,a=[],u=0;u<r;u+=2)a[u>>>3]|=parseInt(t.substr(u,2),16)<<24-u%8*4;return new m.init(a,r/2)}},C=d.Latin1={stringify:function(t){for(var r=t.words,a=t.sigBytes,u=[],y=0;y<a;y++){var b=r[y>>>2]>>>24-y%4*8&255;u.push(String.fromCharCode(b))}return u.join("")},parse:function(t){for(var r=t.length,a=[],u=0;u<r;u++)a[u>>>2]|=(t.charCodeAt(u)&255)<<24-u%4*8;return new m.init(a,r)}},p=d.Utf8={stringify:function(t){try{return decodeURIComponent(escape(C.stringify(t)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(t){return C.parse(unescape(encodeURIComponent(t)))}},_=n.BufferedBlockAlgorithm=B.extend({reset:function(){this._data=new m.init,this._nDataBytes=0},_append:function(t){typeof t=="string"&&(t=p.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var r,a=this._data,u=a.words,y=a.sigBytes,b=this.blockSize,O=b*4,P=y/O;t?P=g.ceil(P):P=g.max((P|0)-this._minBufferSize,0);var e=P*b,i=g.min(e*4,y);if(e){for(var h=0;h<e;h+=b)this._doProcessBlock(u,h);r=u.splice(0,e),a.sigBytes-=i}return new m.init(r,i)},clone:function(){var t=B.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});n.Hasher=_.extend({cfg:B.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){_.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var r=this._doFinalize();return r},blockSize:16,_createHelper:function(t){return function(r,a){return new t.init(a).finalize(r)}},_createHmacHelper:function(t){return function(r,a){return new H.HMAC.init(t,a).finalize(r)}}});var H=A.algo={};return A}(Math);return x})}(G)),G.exports}var J={exports:{}},ar;function yr(){return ar||(ar=1,function(D,W){(function(x,g){D.exports=g(I())})(F,function(x){return function(){var g=x,z=g.lib,w=z.WordArray,q=g.enc;q.Base64={stringify:function(A){var n=A.words,B=A.sigBytes,m=this._map;A.clamp();for(var d=[],l=0;l<B;l+=3)for(var C=n[l>>>2]>>>24-l%4*8&255,p=n[l+1>>>2]>>>24-(l+1)%4*8&255,_=n[l+2>>>2]>>>24-(l+2)%4*8&255,H=C<<16|p<<8|_,t=0;t<4&&l+t*.75<B;t++)d.push(m.charAt(H>>>6*(3-t)&63));var r=m.charAt(64);if(r)for(;d.length%4;)d.push(r);return d.join("")},parse:function(A){var n=A.length,B=this._map,m=this._reverseMap;if(!m){m=this._reverseMap=[];for(var d=0;d<B.length;d++)m[B.charCodeAt(d)]=d}var l=B.charAt(64);if(l){var C=A.indexOf(l);C!==-1&&(n=C)}return k(A,n,m)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function k(A,n,B){for(var m=[],d=0,l=0;l<n;l++)if(l%4){var C=B[A.charCodeAt(l-1)]<<l%4*2,p=B[A.charCodeAt(l)]>>>6-l%4*2,_=C|p;m[d>>>2]|=_<<24-d%4*8,d++}return w.create(m,d)}}(),x.enc.Base64})}(J)),J.exports}var Q={exports:{}},ir;function _r(){return ir||(ir=1,function(D,W){(function(x,g){D.exports=g(I())})(F,function(x){return function(g){var z=x,w=z.lib,q=w.WordArray,k=w.Hasher,A=z.algo,n=[];(function(){for(var p=0;p<64;p++)n[p]=g.abs(g.sin(p+1))*4294967296|0})();var B=A.MD5=k.extend({_doReset:function(){this._hash=new q.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,_){for(var H=0;H<16;H++){var t=_+H,r=p[t];p[t]=(r<<8|r>>>24)&16711935|(r<<24|r>>>8)&4278255360}var a=this._hash.words,u=p[_+0],y=p[_+1],b=p[_+2],O=p[_+3],P=p[_+4],e=p[_+5],i=p[_+6],h=p[_+7],v=p[_+8],S=p[_+9],E=p[_+10],R=p[_+11],N=p[_+12],L=p[_+13],M=p[_+14],$=p[_+15],o=a[0],s=a[1],c=a[2],f=a[3];o=m(o,s,c,f,u,7,n[0]),f=m(f,o,s,c,y,12,n[1]),c=m(c,f,o,s,b,17,n[2]),s=m(s,c,f,o,O,22,n[3]),o=m(o,s,c,f,P,7,n[4]),f=m(f,o,s,c,e,12,n[5]),c=m(c,f,o,s,i,17,n[6]),s=m(s,c,f,o,h,22,n[7]),o=m(o,s,c,f,v,7,n[8]),f=m(f,o,s,c,S,12,n[9]),c=m(c,f,o,s,E,17,n[10]),s=m(s,c,f,o,R,22,n[11]),o=m(o,s,c,f,N,7,n[12]),f=m(f,o,s,c,L,12,n[13]),c=m(c,f,o,s,M,17,n[14]),s=m(s,c,f,o,$,22,n[15]),o=d(o,s,c,f,y,5,n[16]),f=d(f,o,s,c,i,9,n[17]),c=d(c,f,o,s,R,14,n[18]),s=d(s,c,f,o,u,20,n[19]),o=d(o,s,c,f,e,5,n[20]),f=d(f,o,s,c,E,9,n[21]),c=d(c,f,o,s,$,14,n[22]),s=d(s,c,f,o,P,20,n[23]),o=d(o,s,c,f,S,5,n[24]),f=d(f,o,s,c,M,9,n[25]),c=d(c,f,o,s,O,14,n[26]),s=d(s,c,f,o,v,20,n[27]),o=d(o,s,c,f,L,5,n[28]),f=d(f,o,s,c,b,9,n[29]),c=d(c,f,o,s,h,14,n[30]),s=d(s,c,f,o,N,20,n[31]),o=l(o,s,c,f,e,4,n[32]),f=l(f,o,s,c,v,11,n[33]),c=l(c,f,o,s,R,16,n[34]),s=l(s,c,f,o,M,23,n[35]),o=l(o,s,c,f,y,4,n[36]),f=l(f,o,s,c,P,11,n[37]),c=l(c,f,o,s,h,16,n[38]),s=l(s,c,f,o,E,23,n[39]),o=l(o,s,c,f,L,4,n[40]),f=l(f,o,s,c,u,11,n[41]),c=l(c,f,o,s,O,16,n[42]),s=l(s,c,f,o,i,23,n[43]),o=l(o,s,c,f,S,4,n[44]),f=l(f,o,s,c,N,11,n[45]),c=l(c,f,o,s,$,16,n[46]),s=l(s,c,f,o,b,23,n[47]),o=C(o,s,c,f,u,6,n[48]),f=C(f,o,s,c,h,10,n[49]),c=C(c,f,o,s,M,15,n[50]),s=C(s,c,f,o,e,21,n[51]),o=C(o,s,c,f,N,6,n[52]),f=C(f,o,s,c,O,10,n[53]),c=C(c,f,o,s,E,15,n[54]),s=C(s,c,f,o,y,21,n[55]),o=C(o,s,c,f,v,6,n[56]),f=C(f,o,s,c,$,10,n[57]),c=C(c,f,o,s,i,15,n[58]),s=C(s,c,f,o,L,21,n[59]),o=C(o,s,c,f,P,6,n[60]),f=C(f,o,s,c,R,10,n[61]),c=C(c,f,o,s,b,15,n[62]),s=C(s,c,f,o,S,21,n[63]),a[0]=a[0]+o|0,a[1]=a[1]+s|0,a[2]=a[2]+c|0,a[3]=a[3]+f|0},_doFinalize:function(){var p=this._data,_=p.words,H=this._nDataBytes*8,t=p.sigBytes*8;_[t>>>5]|=128<<24-t%32;var r=g.floor(H/4294967296),a=H;_[(t+64>>>9<<4)+15]=(r<<8|r>>>24)&16711935|(r<<24|r>>>8)&4278255360,_[(t+64>>>9<<4)+14]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,p.sigBytes=(_.length+1)*4,this._process();for(var u=this._hash,y=u.words,b=0;b<4;b++){var O=y[b];y[b]=(O<<8|O>>>24)&16711935|(O<<24|O>>>8)&4278255360}return u},clone:function(){var p=k.clone.call(this);return p._hash=this._hash.clone(),p}});function m(p,_,H,t,r,a,u){var y=p+(_&H|~_&t)+r+u;return(y<<a|y>>>32-a)+_}function d(p,_,H,t,r,a,u){var y=p+(_&t|H&~t)+r+u;return(y<<a|y>>>32-a)+_}function l(p,_,H,t,r,a,u){var y=p+(_^H^t)+r+u;return(y<<a|y>>>32-a)+_}function C(p,_,H,t,r,a,u){var y=p+(H^(_|~t))+r+u;return(y<<a|y>>>32-a)+_}z.MD5=k._createHelper(B),z.HmacMD5=k._createHmacHelper(B)}(Math),x.MD5})}(Q)),Q.exports}var Y={exports:{}},Z={exports:{}},or;function xr(){return or||(or=1,function(D,W){(function(x,g){D.exports=g(I())})(F,function(x){return function(){var g=x,z=g.lib,w=z.WordArray,q=z.Hasher,k=g.algo,A=[],n=k.SHA1=q.extend({_doReset:function(){this._hash=new w.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(B,m){for(var d=this._hash.words,l=d[0],C=d[1],p=d[2],_=d[3],H=d[4],t=0;t<80;t++){if(t<16)A[t]=B[m+t]|0;else{var r=A[t-3]^A[t-8]^A[t-14]^A[t-16];A[t]=r<<1|r>>>31}var a=(l<<5|l>>>27)+H+A[t];t<20?a+=(C&p|~C&_)+1518500249:t<40?a+=(C^p^_)+1859775393:t<60?a+=(C&p|C&_|p&_)-1894007588:a+=(C^p^_)-899497514,H=_,_=p,p=C<<30|C>>>2,C=l,l=a}d[0]=d[0]+l|0,d[1]=d[1]+C|0,d[2]=d[2]+p|0,d[3]=d[3]+_|0,d[4]=d[4]+H|0},_doFinalize:function(){var B=this._data,m=B.words,d=this._nDataBytes*8,l=B.sigBytes*8;return m[l>>>5]|=128<<24-l%32,m[(l+64>>>9<<4)+14]=Math.floor(d/4294967296),m[(l+64>>>9<<4)+15]=d,B.sigBytes=m.length*4,this._process(),this._hash},clone:function(){var B=q.clone.call(this);return B._hash=this._hash.clone(),B}});g.SHA1=q._createHelper(n),g.HmacSHA1=q._createHmacHelper(n)}(),x.SHA1})}(Z)),Z.exports}var X={exports:{}},sr;function gr(){return sr||(sr=1,function(D,W){(function(x,g){D.exports=g(I())})(F,function(x){(function(){var g=x,z=g.lib,w=z.Base,q=g.enc,k=q.Utf8,A=g.algo;A.HMAC=w.extend({init:function(n,B){n=this._hasher=new n.init,typeof B=="string"&&(B=k.parse(B));var m=n.blockSize,d=m*4;B.sigBytes>d&&(B=n.finalize(B)),B.clamp();for(var l=this._oKey=B.clone(),C=this._iKey=B.clone(),p=l.words,_=C.words,H=0;H<m;H++)p[H]^=1549556828,_[H]^=909522486;l.sigBytes=C.sigBytes=d,this.reset()},reset:function(){var n=this._hasher;n.reset(),n.update(this._iKey)},update:function(n){return this._hasher.update(n),this},finalize:function(n){var B=this._hasher,m=B.finalize(n);B.reset();var d=B.finalize(this._oKey.clone().concat(m));return d}})})()})}(X)),X.exports}var cr;function fr(){return cr||(cr=1,function(D,W){(function(x,g,z){D.exports=g(I(),xr(),gr())})(F,function(x){return function(){var g=x,z=g.lib,w=z.Base,q=z.WordArray,k=g.algo,A=k.MD5,n=k.EvpKDF=w.extend({cfg:w.extend({keySize:128/32,hasher:A,iterations:1}),init:function(B){this.cfg=this.cfg.extend(B)},compute:function(B,m){for(var d,l=this.cfg,C=l.hasher.create(),p=q.create(),_=p.words,H=l.keySize,t=l.iterations;_.length<H;){d&&C.update(d),d=C.update(B).finalize(m),C.reset();for(var r=1;r<t;r++)d=C.finalize(d),C.reset();p.concat(d)}return p.sigBytes=H*4,p}});g.EvpKDF=function(B,m,d){return n.create(d).compute(B,m)}}(),x.EvpKDF})}(Y)),Y.exports}var rr={exports:{}},vr;function mr(){return vr||(vr=1,function(D,W){(function(x,g,z){D.exports=g(I(),fr())})(F,function(x){x.lib.Cipher||function(g){var z=x,w=z.lib,q=w.Base,k=w.WordArray,A=w.BufferedBlockAlgorithm,n=z.enc;n.Utf8;var B=n.Base64,m=z.algo,d=m.EvpKDF,l=w.Cipher=A.extend({cfg:q.extend(),createEncryptor:function(e,i){return this.create(this._ENC_XFORM_MODE,e,i)},createDecryptor:function(e,i){return this.create(this._DEC_XFORM_MODE,e,i)},init:function(e,i,h){this.cfg=this.cfg.extend(h),this._xformMode=e,this._key=i,this.reset()},reset:function(){A.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){e&&this._append(e);var i=this._doFinalize();return i},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(i){return typeof i=="string"?P:y}return function(i){return{encrypt:function(h,v,S){return e(v).encrypt(i,h,v,S)},decrypt:function(h,v,S){return e(v).decrypt(i,h,v,S)}}}}()});w.StreamCipher=l.extend({_doFinalize:function(){var e=this._process(!0);return e},blockSize:1});var C=z.mode={},p=w.BlockCipherMode=q.extend({createEncryptor:function(e,i){return this.Encryptor.create(e,i)},createDecryptor:function(e,i){return this.Decryptor.create(e,i)},init:function(e,i){this._cipher=e,this._iv=i}}),_=C.CBC=function(){var e=p.extend();e.Encryptor=e.extend({processBlock:function(h,v){var S=this._cipher,E=S.blockSize;i.call(this,h,v,E),S.encryptBlock(h,v),this._prevBlock=h.slice(v,v+E)}}),e.Decryptor=e.extend({processBlock:function(h,v){var S=this._cipher,E=S.blockSize,R=h.slice(v,v+E);S.decryptBlock(h,v),i.call(this,h,v,E),this._prevBlock=R}});function i(h,v,S){var E,R=this._iv;R?(E=R,this._iv=g):E=this._prevBlock;for(var N=0;N<S;N++)h[v+N]^=E[N]}return e}(),H=z.pad={},t=H.Pkcs7={pad:function(e,i){for(var h=i*4,v=h-e.sigBytes%h,S=v<<24|v<<16|v<<8|v,E=[],R=0;R<v;R+=4)E.push(S);var N=k.create(E,v);e.concat(N)},unpad:function(e){var i=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=i}};w.BlockCipher=l.extend({cfg:l.cfg.extend({mode:_,padding:t}),reset:function(){var e;l.reset.call(this);var i=this.cfg,h=i.iv,v=i.mode;this._xformMode==this._ENC_XFORM_MODE?e=v.createEncryptor:(e=v.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,h&&h.words):(this._mode=e.call(v,this,h&&h.words),this._mode.__creator=e)},_doProcessBlock:function(e,i){this._mode.processBlock(e,i)},_doFinalize:function(){var e,i=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(i.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),i.unpad(e)),e},blockSize:128/32});var r=w.CipherParams=q.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),a=z.format={},u=a.OpenSSL={stringify:function(e){var i,h=e.ciphertext,v=e.salt;return v?i=k.create([1398893684,1701076831]).concat(v).concat(h):i=h,i.toString(B)},parse:function(e){var i,h=B.parse(e),v=h.words;return v[0]==1398893684&&v[1]==1701076831&&(i=k.create(v.slice(2,4)),v.splice(0,4),h.sigBytes-=16),r.create({ciphertext:h,salt:i})}},y=w.SerializableCipher=q.extend({cfg:q.extend({format:u}),encrypt:function(e,i,h,v){v=this.cfg.extend(v);var S=e.createEncryptor(h,v),E=S.finalize(i),R=S.cfg;return r.create({ciphertext:E,key:h,iv:R.iv,algorithm:e,mode:R.mode,padding:R.padding,blockSize:e.blockSize,formatter:v.format})},decrypt:function(e,i,h,v){v=this.cfg.extend(v),i=this._parse(i,v.format);var S=e.createDecryptor(h,v).finalize(i.ciphertext);return S},_parse:function(e,i){return typeof e=="string"?i.parse(e,this):e}}),b=z.kdf={},O=b.OpenSSL={execute:function(e,i,h,v){v||(v=k.random(64/8));var S=d.create({keySize:i+h}).compute(e,v),E=k.create(S.words.slice(i),h*4);return S.sigBytes=i*4,r.create({key:S,iv:E,salt:v})}},P=w.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:O}),encrypt:function(e,i,h,v){v=this.cfg.extend(v);var S=v.kdf.execute(h,e.keySize,e.ivSize);v.iv=S.iv;var E=y.encrypt.call(this,e,i,S.key,v);return E.mixIn(S),E},decrypt:function(e,i,h,v){v=this.cfg.extend(v),i=this._parse(i,v.format);var S=v.kdf.execute(h,e.keySize,e.ivSize,i.salt);v.iv=S.iv;var E=y.decrypt.call(this,e,i,S.key,v);return E}})}()})}(rr)),rr.exports}(function(D,W){(function(x,g,z){D.exports=g(I(),yr(),_r(),fr(),mr())})(F,function(x){return function(){var g=x,z=g.lib,w=z.BlockCipher,q=g.algo,k=[],A=[],n=[],B=[],m=[],d=[],l=[],C=[],p=[],_=[];(function(){for(var r=[],a=0;a<256;a++)a<128?r[a]=a<<1:r[a]=a<<1^283;for(var u=0,y=0,a=0;a<256;a++){var b=y^y<<1^y<<2^y<<3^y<<4;b=b>>>8^b&255^99,k[u]=b,A[b]=u;var O=r[u],P=r[O],e=r[P],i=r[b]*257^b*16843008;n[u]=i<<24|i>>>8,B[u]=i<<16|i>>>16,m[u]=i<<8|i>>>24,d[u]=i;var i=e*16843009^P*65537^O*257^u*16843008;l[b]=i<<24|i>>>8,C[b]=i<<16|i>>>16,p[b]=i<<8|i>>>24,_[b]=i,u?(u=O^r[r[r[e^O]]],y^=r[r[y]]):u=y=1}})();var H=[0,1,2,4,8,16,32,64,128,27,54],t=q.AES=w.extend({_doReset:function(){var r;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var a=this._keyPriorReset=this._key,u=a.words,y=a.sigBytes/4,b=this._nRounds=y+6,O=(b+1)*4,P=this._keySchedule=[],e=0;e<O;e++)e<y?P[e]=u[e]:(r=P[e-1],e%y?y>6&&e%y==4&&(r=k[r>>>24]<<24|k[r>>>16&255]<<16|k[r>>>8&255]<<8|k[r&255]):(r=r<<8|r>>>24,r=k[r>>>24]<<24|k[r>>>16&255]<<16|k[r>>>8&255]<<8|k[r&255],r^=H[e/y|0]<<24),P[e]=P[e-y]^r);for(var i=this._invKeySchedule=[],h=0;h<O;h++){var e=O-h;if(h%4)var r=P[e];else var r=P[e-4];h<4||e<=4?i[h]=r:i[h]=l[k[r>>>24]]^C[k[r>>>16&255]]^p[k[r>>>8&255]]^_[k[r&255]]}}},encryptBlock:function(r,a){this._doCryptBlock(r,a,this._keySchedule,n,B,m,d,k)},decryptBlock:function(r,a){var u=r[a+1];r[a+1]=r[a+3],r[a+3]=u,this._doCryptBlock(r,a,this._invKeySchedule,l,C,p,_,A);var u=r[a+1];r[a+1]=r[a+3],r[a+3]=u},_doCryptBlock:function(r,a,u,y,b,O,P,e){for(var i=this._nRounds,h=r[a]^u[0],v=r[a+1]^u[1],S=r[a+2]^u[2],E=r[a+3]^u[3],R=4,N=1;N<i;N++){var L=y[h>>>24]^b[v>>>16&255]^O[S>>>8&255]^P[E&255]^u[R++],M=y[v>>>24]^b[S>>>16&255]^O[E>>>8&255]^P[h&255]^u[R++],$=y[S>>>24]^b[E>>>16&255]^O[h>>>8&255]^P[v&255]^u[R++],o=y[E>>>24]^b[h>>>16&255]^O[v>>>8&255]^P[S&255]^u[R++];h=L,v=M,S=$,E=o}var L=(e[h>>>24]<<24|e[v>>>16&255]<<16|e[S>>>8&255]<<8|e[E&255])^u[R++],M=(e[v>>>24]<<24|e[S>>>16&255]<<16|e[E>>>8&255]<<8|e[h&255])^u[R++],$=(e[S>>>24]<<24|e[E>>>16&255]<<16|e[h>>>8&255]<<8|e[v&255])^u[R++],o=(e[E>>>24]<<24|e[h>>>16&255]<<16|e[v>>>8&255]<<8|e[S&255])^u[R++];r[a]=L,r[a+1]=M,r[a+2]=$,r[a+3]=o},keySize:256/32});g.AES=w._createHelper(t)}(),x.AES})})(tr);const U=tr.exports;var ur={exports:{}};(function(D,W){(function(x,g){D.exports=g(I())})(F,function(x){return x.enc.Utf8})})(ur);const er=ur.exports,V=class{static get(W){return V.ls.getItem(W)}static getObj(W){var x;return JSON.parse((x=V.get(W))!=null?x:"{}")}static set(W,x){V.ls.setItem(W,x)}static setObj(W,x){V.set(W,JSON.stringify(x))}static remove(W){V.ls.removeItem(W)}};let T=V;hr(T,"ls",window.localStorage);function dr(){return(+new Date).toString(36).slice(-5)}function Br(D){return Promise.all(D.providers.map(async W=>{try{const[x,g]=await W(),z=dr(),w=dr(),q=U.encrypt(JSON.stringify([z,w]),x).toString();T.set(x,q);const k=U.encrypt(JSON.stringify(g),w).toString();return T.set(z,k),{key:w,data:k}}catch(x){throw x}}))}async function Cr(D){const W=T.get(D);if(!W)throw new Error(`No data found by ${D}`);const[x,g]=JSON.parse(U.decrypt(W,D).toString(er)),z=T.get(x);if(!z)throw new Error(`No data found by ${x}`);return JSON.parse(U.decrypt(z,g).toString(er))}function br(D){const W=T.get(D);if(!W)throw new Error(`No data found by ${D}`);const[x]=JSON.parse(U.decrypt(W,D).toString(er));T.remove(D),T.remove(x)}K.clear=br,K.decrypt=Cr,K.encrypt=Br,Object.defineProperties(K,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); | ||
(function(K,F){typeof exports=="object"&&typeof module<"u"?F(exports):typeof define=="function"&&define.amd?define(["exports"],F):(K=typeof globalThis<"u"?globalThis:K||self,F(K.localStorageEncryption={}))})(this,function(K){"use strict";var wr=Object.defineProperty;var Sr=(K,F,j)=>F in K?wr(K,F,{enumerable:!0,configurable:!0,writable:!0,value:j}):K[F]=j;var dr=(K,F,j)=>(Sr(K,typeof F!="symbol"?F+"":F,j),j);var F=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function j(E){var P=E.default;if(typeof P=="function"){var x=function(){return P.apply(this,arguments)};x.prototype=P.prototype}else x={};return Object.defineProperty(x,"__esModule",{value:!0}),Object.keys(E).forEach(function(g){var z=Object.getOwnPropertyDescriptor(E,g);Object.defineProperty(x,g,z.get?z:{enumerable:!0,get:function(){return E[g]}})}),x}var er={exports:{}};function hr(E){throw new Error('Could not dynamically require "'+E+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var U={exports:{}};const lr=j(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var tr;function I(){return tr||(tr=1,function(E,P){(function(x,g){E.exports=g()})(F,function(){var x=x||function(g,z){var w;if(typeof window<"u"&&window.crypto&&(w=window.crypto),typeof self<"u"&&self.crypto&&(w=self.crypto),typeof globalThis<"u"&&globalThis.crypto&&(w=globalThis.crypto),!w&&typeof window<"u"&&window.msCrypto&&(w=window.msCrypto),!w&&typeof F<"u"&&F.crypto&&(w=F.crypto),!w&&typeof hr=="function")try{w=lr}catch{}var q=function(){if(w){if(typeof w.getRandomValues=="function")try{return w.getRandomValues(new Uint32Array(1))[0]}catch{}if(typeof w.randomBytes=="function")try{return w.randomBytes(4).readInt32LE()}catch{}}throw new Error("Native crypto module could not be used to get secure random number.")},k=Object.create||function(){function t(){}return function(r){var a;return t.prototype=r,a=new t,t.prototype=null,a}}(),A={},n=A.lib={},B=n.Base=function(){return{extend:function(t){var r=k(this);return t&&r.mixIn(t),(!r.hasOwnProperty("init")||this.init===r.init)&&(r.init=function(){r.$super.init.apply(this,arguments)}),r.init.prototype=r,r.$super=this,r},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),m=n.WordArray=B.extend({init:function(t,r){t=this.words=t||[],r!=z?this.sigBytes=r:this.sigBytes=t.length*4},toString:function(t){return(t||l).stringify(this)},concat:function(t){var r=this.words,a=t.words,u=this.sigBytes,y=t.sigBytes;if(this.clamp(),u%4)for(var b=0;b<y;b++){var O=a[b>>>2]>>>24-b%4*8&255;r[u+b>>>2]|=O<<24-(u+b)%4*8}else for(var W=0;W<y;W+=4)r[u+W>>>2]=a[W>>>2];return this.sigBytes+=y,this},clamp:function(){var t=this.words,r=this.sigBytes;t[r>>>2]&=4294967295<<32-r%4*8,t.length=g.ceil(r/4)},clone:function(){var t=B.clone.call(this);return t.words=this.words.slice(0),t},random:function(t){for(var r=[],a=0;a<t;a+=4)r.push(q());return new m.init(r,t)}}),d=A.enc={},l=d.Hex={stringify:function(t){for(var r=t.words,a=t.sigBytes,u=[],y=0;y<a;y++){var b=r[y>>>2]>>>24-y%4*8&255;u.push((b>>>4).toString(16)),u.push((b&15).toString(16))}return u.join("")},parse:function(t){for(var r=t.length,a=[],u=0;u<r;u+=2)a[u>>>3]|=parseInt(t.substr(u,2),16)<<24-u%8*4;return new m.init(a,r/2)}},C=d.Latin1={stringify:function(t){for(var r=t.words,a=t.sigBytes,u=[],y=0;y<a;y++){var b=r[y>>>2]>>>24-y%4*8&255;u.push(String.fromCharCode(b))}return u.join("")},parse:function(t){for(var r=t.length,a=[],u=0;u<r;u++)a[u>>>2]|=(t.charCodeAt(u)&255)<<24-u%4*8;return new m.init(a,r)}},p=d.Utf8={stringify:function(t){try{return decodeURIComponent(escape(C.stringify(t)))}catch{throw new Error("Malformed UTF-8 data")}},parse:function(t){return C.parse(unescape(encodeURIComponent(t)))}},_=n.BufferedBlockAlgorithm=B.extend({reset:function(){this._data=new m.init,this._nDataBytes=0},_append:function(t){typeof t=="string"&&(t=p.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(t){var r,a=this._data,u=a.words,y=a.sigBytes,b=this.blockSize,O=b*4,W=y/O;t?W=g.ceil(W):W=g.max((W|0)-this._minBufferSize,0);var e=W*b,i=g.min(e*4,y);if(e){for(var h=0;h<e;h+=b)this._doProcessBlock(u,h);r=u.splice(0,e),a.sigBytes-=i}return new m.init(r,i)},clone:function(){var t=B.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});n.Hasher=_.extend({cfg:B.extend(),init:function(t){this.cfg=this.cfg.extend(t),this.reset()},reset:function(){_.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){t&&this._append(t);var r=this._doFinalize();return r},blockSize:16,_createHelper:function(t){return function(r,a){return new t.init(a).finalize(r)}},_createHmacHelper:function(t){return function(r,a){return new H.HMAC.init(t,a).finalize(r)}}});var H=A.algo={};return A}(Math);return x})}(U)),U.exports}var G={exports:{}},nr;function pr(){return nr||(nr=1,function(E,P){(function(x,g){E.exports=g(I())})(F,function(x){return function(){var g=x,z=g.lib,w=z.WordArray,q=g.enc;q.Base64={stringify:function(A){var n=A.words,B=A.sigBytes,m=this._map;A.clamp();for(var d=[],l=0;l<B;l+=3)for(var C=n[l>>>2]>>>24-l%4*8&255,p=n[l+1>>>2]>>>24-(l+1)%4*8&255,_=n[l+2>>>2]>>>24-(l+2)%4*8&255,H=C<<16|p<<8|_,t=0;t<4&&l+t*.75<B;t++)d.push(m.charAt(H>>>6*(3-t)&63));var r=m.charAt(64);if(r)for(;d.length%4;)d.push(r);return d.join("")},parse:function(A){var n=A.length,B=this._map,m=this._reverseMap;if(!m){m=this._reverseMap=[];for(var d=0;d<B.length;d++)m[B.charCodeAt(d)]=d}var l=B.charAt(64);if(l){var C=A.indexOf(l);C!==-1&&(n=C)}return k(A,n,m)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function k(A,n,B){for(var m=[],d=0,l=0;l<n;l++)if(l%4){var C=B[A.charCodeAt(l-1)]<<l%4*2,p=B[A.charCodeAt(l)]>>>6-l%4*2,_=C|p;m[d>>>2]|=_<<24-d%4*8,d++}return w.create(m,d)}}(),x.enc.Base64})}(G)),G.exports}var J={exports:{}},ar;function yr(){return ar||(ar=1,function(E,P){(function(x,g){E.exports=g(I())})(F,function(x){return function(g){var z=x,w=z.lib,q=w.WordArray,k=w.Hasher,A=z.algo,n=[];(function(){for(var p=0;p<64;p++)n[p]=g.abs(g.sin(p+1))*4294967296|0})();var B=A.MD5=k.extend({_doReset:function(){this._hash=new q.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(p,_){for(var H=0;H<16;H++){var t=_+H,r=p[t];p[t]=(r<<8|r>>>24)&16711935|(r<<24|r>>>8)&4278255360}var a=this._hash.words,u=p[_+0],y=p[_+1],b=p[_+2],O=p[_+3],W=p[_+4],e=p[_+5],i=p[_+6],h=p[_+7],v=p[_+8],S=p[_+9],D=p[_+10],R=p[_+11],N=p[_+12],L=p[_+13],M=p[_+14],$=p[_+15],o=a[0],s=a[1],c=a[2],f=a[3];o=m(o,s,c,f,u,7,n[0]),f=m(f,o,s,c,y,12,n[1]),c=m(c,f,o,s,b,17,n[2]),s=m(s,c,f,o,O,22,n[3]),o=m(o,s,c,f,W,7,n[4]),f=m(f,o,s,c,e,12,n[5]),c=m(c,f,o,s,i,17,n[6]),s=m(s,c,f,o,h,22,n[7]),o=m(o,s,c,f,v,7,n[8]),f=m(f,o,s,c,S,12,n[9]),c=m(c,f,o,s,D,17,n[10]),s=m(s,c,f,o,R,22,n[11]),o=m(o,s,c,f,N,7,n[12]),f=m(f,o,s,c,L,12,n[13]),c=m(c,f,o,s,M,17,n[14]),s=m(s,c,f,o,$,22,n[15]),o=d(o,s,c,f,y,5,n[16]),f=d(f,o,s,c,i,9,n[17]),c=d(c,f,o,s,R,14,n[18]),s=d(s,c,f,o,u,20,n[19]),o=d(o,s,c,f,e,5,n[20]),f=d(f,o,s,c,D,9,n[21]),c=d(c,f,o,s,$,14,n[22]),s=d(s,c,f,o,W,20,n[23]),o=d(o,s,c,f,S,5,n[24]),f=d(f,o,s,c,M,9,n[25]),c=d(c,f,o,s,O,14,n[26]),s=d(s,c,f,o,v,20,n[27]),o=d(o,s,c,f,L,5,n[28]),f=d(f,o,s,c,b,9,n[29]),c=d(c,f,o,s,h,14,n[30]),s=d(s,c,f,o,N,20,n[31]),o=l(o,s,c,f,e,4,n[32]),f=l(f,o,s,c,v,11,n[33]),c=l(c,f,o,s,R,16,n[34]),s=l(s,c,f,o,M,23,n[35]),o=l(o,s,c,f,y,4,n[36]),f=l(f,o,s,c,W,11,n[37]),c=l(c,f,o,s,h,16,n[38]),s=l(s,c,f,o,D,23,n[39]),o=l(o,s,c,f,L,4,n[40]),f=l(f,o,s,c,u,11,n[41]),c=l(c,f,o,s,O,16,n[42]),s=l(s,c,f,o,i,23,n[43]),o=l(o,s,c,f,S,4,n[44]),f=l(f,o,s,c,N,11,n[45]),c=l(c,f,o,s,$,16,n[46]),s=l(s,c,f,o,b,23,n[47]),o=C(o,s,c,f,u,6,n[48]),f=C(f,o,s,c,h,10,n[49]),c=C(c,f,o,s,M,15,n[50]),s=C(s,c,f,o,e,21,n[51]),o=C(o,s,c,f,N,6,n[52]),f=C(f,o,s,c,O,10,n[53]),c=C(c,f,o,s,D,15,n[54]),s=C(s,c,f,o,y,21,n[55]),o=C(o,s,c,f,v,6,n[56]),f=C(f,o,s,c,$,10,n[57]),c=C(c,f,o,s,i,15,n[58]),s=C(s,c,f,o,L,21,n[59]),o=C(o,s,c,f,W,6,n[60]),f=C(f,o,s,c,R,10,n[61]),c=C(c,f,o,s,b,15,n[62]),s=C(s,c,f,o,S,21,n[63]),a[0]=a[0]+o|0,a[1]=a[1]+s|0,a[2]=a[2]+c|0,a[3]=a[3]+f|0},_doFinalize:function(){var p=this._data,_=p.words,H=this._nDataBytes*8,t=p.sigBytes*8;_[t>>>5]|=128<<24-t%32;var r=g.floor(H/4294967296),a=H;_[(t+64>>>9<<4)+15]=(r<<8|r>>>24)&16711935|(r<<24|r>>>8)&4278255360,_[(t+64>>>9<<4)+14]=(a<<8|a>>>24)&16711935|(a<<24|a>>>8)&4278255360,p.sigBytes=(_.length+1)*4,this._process();for(var u=this._hash,y=u.words,b=0;b<4;b++){var O=y[b];y[b]=(O<<8|O>>>24)&16711935|(O<<24|O>>>8)&4278255360}return u},clone:function(){var p=k.clone.call(this);return p._hash=this._hash.clone(),p}});function m(p,_,H,t,r,a,u){var y=p+(_&H|~_&t)+r+u;return(y<<a|y>>>32-a)+_}function d(p,_,H,t,r,a,u){var y=p+(_&t|H&~t)+r+u;return(y<<a|y>>>32-a)+_}function l(p,_,H,t,r,a,u){var y=p+(_^H^t)+r+u;return(y<<a|y>>>32-a)+_}function C(p,_,H,t,r,a,u){var y=p+(H^(_|~t))+r+u;return(y<<a|y>>>32-a)+_}z.MD5=k._createHelper(B),z.HmacMD5=k._createHmacHelper(B)}(Math),x.MD5})}(J)),J.exports}var Q={exports:{}},Y={exports:{}},ir;function _r(){return ir||(ir=1,function(E,P){(function(x,g){E.exports=g(I())})(F,function(x){return function(){var g=x,z=g.lib,w=z.WordArray,q=z.Hasher,k=g.algo,A=[],n=k.SHA1=q.extend({_doReset:function(){this._hash=new w.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function(B,m){for(var d=this._hash.words,l=d[0],C=d[1],p=d[2],_=d[3],H=d[4],t=0;t<80;t++){if(t<16)A[t]=B[m+t]|0;else{var r=A[t-3]^A[t-8]^A[t-14]^A[t-16];A[t]=r<<1|r>>>31}var a=(l<<5|l>>>27)+H+A[t];t<20?a+=(C&p|~C&_)+1518500249:t<40?a+=(C^p^_)+1859775393:t<60?a+=(C&p|C&_|p&_)-1894007588:a+=(C^p^_)-899497514,H=_,_=p,p=C<<30|C>>>2,C=l,l=a}d[0]=d[0]+l|0,d[1]=d[1]+C|0,d[2]=d[2]+p|0,d[3]=d[3]+_|0,d[4]=d[4]+H|0},_doFinalize:function(){var B=this._data,m=B.words,d=this._nDataBytes*8,l=B.sigBytes*8;return m[l>>>5]|=128<<24-l%32,m[(l+64>>>9<<4)+14]=Math.floor(d/4294967296),m[(l+64>>>9<<4)+15]=d,B.sigBytes=m.length*4,this._process(),this._hash},clone:function(){var B=q.clone.call(this);return B._hash=this._hash.clone(),B}});g.SHA1=q._createHelper(n),g.HmacSHA1=q._createHmacHelper(n)}(),x.SHA1})}(Y)),Y.exports}var Z={exports:{}},or;function xr(){return or||(or=1,function(E,P){(function(x,g){E.exports=g(I())})(F,function(x){(function(){var g=x,z=g.lib,w=z.Base,q=g.enc,k=q.Utf8,A=g.algo;A.HMAC=w.extend({init:function(n,B){n=this._hasher=new n.init,typeof B=="string"&&(B=k.parse(B));var m=n.blockSize,d=m*4;B.sigBytes>d&&(B=n.finalize(B)),B.clamp();for(var l=this._oKey=B.clone(),C=this._iKey=B.clone(),p=l.words,_=C.words,H=0;H<m;H++)p[H]^=1549556828,_[H]^=909522486;l.sigBytes=C.sigBytes=d,this.reset()},reset:function(){var n=this._hasher;n.reset(),n.update(this._iKey)},update:function(n){return this._hasher.update(n),this},finalize:function(n){var B=this._hasher,m=B.finalize(n);B.reset();var d=B.finalize(this._oKey.clone().concat(m));return d}})})()})}(Z)),Z.exports}var sr;function cr(){return sr||(sr=1,function(E,P){(function(x,g,z){E.exports=g(I(),_r(),xr())})(F,function(x){return function(){var g=x,z=g.lib,w=z.Base,q=z.WordArray,k=g.algo,A=k.MD5,n=k.EvpKDF=w.extend({cfg:w.extend({keySize:128/32,hasher:A,iterations:1}),init:function(B){this.cfg=this.cfg.extend(B)},compute:function(B,m){for(var d,l=this.cfg,C=l.hasher.create(),p=q.create(),_=p.words,H=l.keySize,t=l.iterations;_.length<H;){d&&C.update(d),d=C.update(B).finalize(m),C.reset();for(var r=1;r<t;r++)d=C.finalize(d),C.reset();p.concat(d)}return p.sigBytes=H*4,p}});g.EvpKDF=function(B,m,d){return n.create(d).compute(B,m)}}(),x.EvpKDF})}(Q)),Q.exports}var X={exports:{}},fr;function gr(){return fr||(fr=1,function(E,P){(function(x,g,z){E.exports=g(I(),cr())})(F,function(x){x.lib.Cipher||function(g){var z=x,w=z.lib,q=w.Base,k=w.WordArray,A=w.BufferedBlockAlgorithm,n=z.enc;n.Utf8;var B=n.Base64,m=z.algo,d=m.EvpKDF,l=w.Cipher=A.extend({cfg:q.extend(),createEncryptor:function(e,i){return this.create(this._ENC_XFORM_MODE,e,i)},createDecryptor:function(e,i){return this.create(this._DEC_XFORM_MODE,e,i)},init:function(e,i,h){this.cfg=this.cfg.extend(h),this._xformMode=e,this._key=i,this.reset()},reset:function(){A.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){e&&this._append(e);var i=this._doFinalize();return i},keySize:128/32,ivSize:128/32,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(i){return typeof i=="string"?W:y}return function(i){return{encrypt:function(h,v,S){return e(v).encrypt(i,h,v,S)},decrypt:function(h,v,S){return e(v).decrypt(i,h,v,S)}}}}()});w.StreamCipher=l.extend({_doFinalize:function(){var e=this._process(!0);return e},blockSize:1});var C=z.mode={},p=w.BlockCipherMode=q.extend({createEncryptor:function(e,i){return this.Encryptor.create(e,i)},createDecryptor:function(e,i){return this.Decryptor.create(e,i)},init:function(e,i){this._cipher=e,this._iv=i}}),_=C.CBC=function(){var e=p.extend();e.Encryptor=e.extend({processBlock:function(h,v){var S=this._cipher,D=S.blockSize;i.call(this,h,v,D),S.encryptBlock(h,v),this._prevBlock=h.slice(v,v+D)}}),e.Decryptor=e.extend({processBlock:function(h,v){var S=this._cipher,D=S.blockSize,R=h.slice(v,v+D);S.decryptBlock(h,v),i.call(this,h,v,D),this._prevBlock=R}});function i(h,v,S){var D,R=this._iv;R?(D=R,this._iv=g):D=this._prevBlock;for(var N=0;N<S;N++)h[v+N]^=D[N]}return e}(),H=z.pad={},t=H.Pkcs7={pad:function(e,i){for(var h=i*4,v=h-e.sigBytes%h,S=v<<24|v<<16|v<<8|v,D=[],R=0;R<v;R+=4)D.push(S);var N=k.create(D,v);e.concat(N)},unpad:function(e){var i=e.words[e.sigBytes-1>>>2]&255;e.sigBytes-=i}};w.BlockCipher=l.extend({cfg:l.cfg.extend({mode:_,padding:t}),reset:function(){var e;l.reset.call(this);var i=this.cfg,h=i.iv,v=i.mode;this._xformMode==this._ENC_XFORM_MODE?e=v.createEncryptor:(e=v.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==e?this._mode.init(this,h&&h.words):(this._mode=e.call(v,this,h&&h.words),this._mode.__creator=e)},_doProcessBlock:function(e,i){this._mode.processBlock(e,i)},_doFinalize:function(){var e,i=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(i.pad(this._data,this.blockSize),e=this._process(!0)):(e=this._process(!0),i.unpad(e)),e},blockSize:128/32});var r=w.CipherParams=q.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),a=z.format={},u=a.OpenSSL={stringify:function(e){var i,h=e.ciphertext,v=e.salt;return v?i=k.create([1398893684,1701076831]).concat(v).concat(h):i=h,i.toString(B)},parse:function(e){var i,h=B.parse(e),v=h.words;return v[0]==1398893684&&v[1]==1701076831&&(i=k.create(v.slice(2,4)),v.splice(0,4),h.sigBytes-=16),r.create({ciphertext:h,salt:i})}},y=w.SerializableCipher=q.extend({cfg:q.extend({format:u}),encrypt:function(e,i,h,v){v=this.cfg.extend(v);var S=e.createEncryptor(h,v),D=S.finalize(i),R=S.cfg;return r.create({ciphertext:D,key:h,iv:R.iv,algorithm:e,mode:R.mode,padding:R.padding,blockSize:e.blockSize,formatter:v.format})},decrypt:function(e,i,h,v){v=this.cfg.extend(v),i=this._parse(i,v.format);var S=e.createDecryptor(h,v).finalize(i.ciphertext);return S},_parse:function(e,i){return typeof e=="string"?i.parse(e,this):e}}),b=z.kdf={},O=b.OpenSSL={execute:function(e,i,h,v){v||(v=k.random(64/8));var S=d.create({keySize:i+h}).compute(e,v),D=k.create(S.words.slice(i),h*4);return S.sigBytes=i*4,r.create({key:S,iv:D,salt:v})}},W=w.PasswordBasedCipher=y.extend({cfg:y.cfg.extend({kdf:O}),encrypt:function(e,i,h,v){v=this.cfg.extend(v);var S=v.kdf.execute(h,e.keySize,e.ivSize);v.iv=S.iv;var D=y.encrypt.call(this,e,i,S.key,v);return D.mixIn(S),D},decrypt:function(e,i,h,v){v=this.cfg.extend(v),i=this._parse(i,v.format);var S=v.kdf.execute(h,e.keySize,e.ivSize,i.salt);v.iv=S.iv;var D=y.decrypt.call(this,e,i,S.key,v);return D}})}()})}(X)),X.exports}(function(E,P){(function(x,g,z){E.exports=g(I(),pr(),yr(),cr(),gr())})(F,function(x){return function(){var g=x,z=g.lib,w=z.BlockCipher,q=g.algo,k=[],A=[],n=[],B=[],m=[],d=[],l=[],C=[],p=[],_=[];(function(){for(var r=[],a=0;a<256;a++)a<128?r[a]=a<<1:r[a]=a<<1^283;for(var u=0,y=0,a=0;a<256;a++){var b=y^y<<1^y<<2^y<<3^y<<4;b=b>>>8^b&255^99,k[u]=b,A[b]=u;var O=r[u],W=r[O],e=r[W],i=r[b]*257^b*16843008;n[u]=i<<24|i>>>8,B[u]=i<<16|i>>>16,m[u]=i<<8|i>>>24,d[u]=i;var i=e*16843009^W*65537^O*257^u*16843008;l[b]=i<<24|i>>>8,C[b]=i<<16|i>>>16,p[b]=i<<8|i>>>24,_[b]=i,u?(u=O^r[r[r[e^O]]],y^=r[r[y]]):u=y=1}})();var H=[0,1,2,4,8,16,32,64,128,27,54],t=q.AES=w.extend({_doReset:function(){var r;if(!(this._nRounds&&this._keyPriorReset===this._key)){for(var a=this._keyPriorReset=this._key,u=a.words,y=a.sigBytes/4,b=this._nRounds=y+6,O=(b+1)*4,W=this._keySchedule=[],e=0;e<O;e++)e<y?W[e]=u[e]:(r=W[e-1],e%y?y>6&&e%y==4&&(r=k[r>>>24]<<24|k[r>>>16&255]<<16|k[r>>>8&255]<<8|k[r&255]):(r=r<<8|r>>>24,r=k[r>>>24]<<24|k[r>>>16&255]<<16|k[r>>>8&255]<<8|k[r&255],r^=H[e/y|0]<<24),W[e]=W[e-y]^r);for(var i=this._invKeySchedule=[],h=0;h<O;h++){var e=O-h;if(h%4)var r=W[e];else var r=W[e-4];h<4||e<=4?i[h]=r:i[h]=l[k[r>>>24]]^C[k[r>>>16&255]]^p[k[r>>>8&255]]^_[k[r&255]]}}},encryptBlock:function(r,a){this._doCryptBlock(r,a,this._keySchedule,n,B,m,d,k)},decryptBlock:function(r,a){var u=r[a+1];r[a+1]=r[a+3],r[a+3]=u,this._doCryptBlock(r,a,this._invKeySchedule,l,C,p,_,A);var u=r[a+1];r[a+1]=r[a+3],r[a+3]=u},_doCryptBlock:function(r,a,u,y,b,O,W,e){for(var i=this._nRounds,h=r[a]^u[0],v=r[a+1]^u[1],S=r[a+2]^u[2],D=r[a+3]^u[3],R=4,N=1;N<i;N++){var L=y[h>>>24]^b[v>>>16&255]^O[S>>>8&255]^W[D&255]^u[R++],M=y[v>>>24]^b[S>>>16&255]^O[D>>>8&255]^W[h&255]^u[R++],$=y[S>>>24]^b[D>>>16&255]^O[h>>>8&255]^W[v&255]^u[R++],o=y[D>>>24]^b[h>>>16&255]^O[v>>>8&255]^W[S&255]^u[R++];h=L,v=M,S=$,D=o}var L=(e[h>>>24]<<24|e[v>>>16&255]<<16|e[S>>>8&255]<<8|e[D&255])^u[R++],M=(e[v>>>24]<<24|e[S>>>16&255]<<16|e[D>>>8&255]<<8|e[h&255])^u[R++],$=(e[S>>>24]<<24|e[D>>>16&255]<<16|e[h>>>8&255]<<8|e[v&255])^u[R++],o=(e[D>>>24]<<24|e[h>>>16&255]<<16|e[v>>>8&255]<<8|e[S&255])^u[R++];r[a]=L,r[a+1]=M,r[a+2]=$,r[a+3]=o},keySize:256/32});g.AES=w._createHelper(t)}(),x.AES})})(er);const V=er.exports;var vr={exports:{}};(function(E,P){(function(x,g){E.exports=g(I())})(F,function(x){return x.enc.Utf8})})(vr);const rr=vr.exports;class T{static set backend(P){P&&(this.ls=P)}static get(P){return this.ls.getItem(P)}static getObj(P){var x;return JSON.parse((x=this.get(P))!=null?x:"{}")}static set(P,x){this.ls.setItem(P,x)}static setObj(P,x){this.set(P,JSON.stringify(x))}static remove(P){this.ls.removeItem(P)}}dr(T,"ls",window.localStorage);const mr=T;function ur(){return(+new Date).toString(36).slice(-5)}function Br(E){return Promise.all(E.providers.map(async P=>{try{const[x,g]=await P(),z=ur(),w=ur(),q=V.encrypt(JSON.stringify([z,w]),x).toString();T.set(x,q);const k=V.encrypt(JSON.stringify(g),w).toString();return T.set(z,k),{key:w,data:k}}catch(x){throw x}}))}async function Cr(E){const P=T.get(E);if(!P)throw new Error(`No data found by ${E}`);const[x,g]=JSON.parse(V.decrypt(P,E).toString(rr)),z=T.get(x);if(!z)throw new Error(`No data found by ${x}`);return JSON.parse(V.decrypt(z,g).toString(rr))}function br(E){const P=T.get(E);if(!P)throw new Error(`No data found by ${E}`);const[x]=JSON.parse(V.decrypt(P,E).toString(rr));T.remove(E),T.remove(x)}K.clear=br,K.decrypt=Cr,K.encrypt=Br,K.storage=mr,Object.defineProperties(K,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}); |
@@ -15,2 +15,15 @@ // Copyright 2022 EMQ Technologies Co., Ltd. All Rights Reserved. | ||
class LocalStorage { | ||
static ls: Storage | ||
static set backend(storage: Storage): void | ||
static get(key: string): string | null | ||
static getObj(key: string): unknown | ||
static set(key: string, value: string): void | ||
static setObj(key: string, value: any): void | ||
static remove(key: string): void | ||
} | ||
export const storage: LocalStorage | ||
type ProviderFN = <T = unknown>() => Promise<string, T> | ||
@@ -17,0 +30,0 @@ |
{ | ||
"name": "@emqx/local-storage-encryption", | ||
"version": "0.1.2", | ||
"version": "0.2.0", | ||
"description": "Obfuscate key-value pairs in localStorage.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -75,2 +75,16 @@ # @emqx/local-storage-encryption | ||
### storage | ||
Although this package is used to obfuscate data in localStorage, it can also be used to obfuscate data in other backends | ||
that implement the `Storage` interface of the [Web Storage API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API). | ||
For example, you can use `sessionStorage` instead of `localStorage`: | ||
```js | ||
import { storage } from '@emqx/local-storage-encryption' | ||
storage.backend = window.sessionStorage | ||
// Then all other APIs will use sessionStorage instead of localStorage. | ||
``` | ||
### encrypt | ||
@@ -77,0 +91,0 @@ |
69166
895
155