2025-02-16 00:39:18 +08:00

735 lines
21 KiB
JavaScript

/**
* [js-md5]{@link https://github.com/emn178/js-md5}
*
* @namespace md5
* @version 0.7.3
* @author Chen, Yi-Cyuan [emn178@gmail.com]
* @copyright Chen, Yi-Cyuan 2014-2017
* @license MIT
*/
!(function () {
'use strict'
function t(t) {
if (t)
(d[0] =
d[16] =
d[1] =
d[2] =
d[3] =
d[4] =
d[5] =
d[6] =
d[7] =
d[8] =
d[9] =
d[10] =
d[11] =
d[12] =
d[13] =
d[14] =
d[15] =
0),
(this.blocks = d),
(this.buffer8 = l)
else if (a) {
var r = new ArrayBuffer(68)
;(this.buffer8 = new Uint8Array(r)), (this.blocks = new Uint32Array(r))
} else this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
;(this.h0 = this.h1 = this.h2 = this.h3 = this.start = this.bytes = this.hBytes = 0),
(this.finalized = this.hashed = !1),
(this.first = !0)
}
var r = 'input is invalid type',
e = 'object' == typeof window,
i = e ? window : {}
i.JS_MD5_NO_WINDOW && (e = !1)
var s = !e && 'object' == typeof self,
h =
!i.JS_MD5_NO_NODE_JS &&
'object' == typeof process &&
process.versions &&
process.versions.node
h ? (i = global) : s && (i = self)
var f = !i.JS_MD5_NO_COMMON_JS && 'object' == typeof module && module.exports,
o = 'function' == typeof define && define.amd,
a = !i.JS_MD5_NO_ARRAY_BUFFER && 'undefined' != typeof ArrayBuffer,
n = '0123456789abcdef'.split(''),
u = [128, 32768, 8388608, -2147483648],
y = [0, 8, 16, 24],
c = ['hex', 'array', 'digest', 'buffer', 'arrayBuffer', 'base64'],
p = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''),
d = [],
l
if (a) {
var A = new ArrayBuffer(68)
;(l = new Uint8Array(A)), (d = new Uint32Array(A))
}
;(!i.JS_MD5_NO_NODE_JS && Array.isArray) ||
(Array.isArray = function (t) {
return '[object Array]' === Object.prototype.toString.call(t)
}),
!a ||
(!i.JS_MD5_NO_ARRAY_BUFFER_IS_VIEW && ArrayBuffer.isView) ||
(ArrayBuffer.isView = function (t) {
return 'object' == typeof t && t.buffer && t.buffer.constructor === ArrayBuffer
})
var b = function (r) {
return function (e) {
return new t(!0).update(e)[r]()
}
},
v = function () {
var r = b('hex')
h && (r = w(r)),
(r.create = function () {
return new t()
}),
(r.update = function (t) {
return r.create().update(t)
})
for (var e = 0; e < c.length; ++e) {
var i = c[e]
r[i] = b(i)
}
return r
},
w = function (t) {
var e = eval("require('crypto')"),
i = eval("require('buffer').Buffer"),
s = function (s) {
if ('string' == typeof s) return e.createHash('md5').update(s, 'utf8').digest('hex')
if (null === s || void 0 === s) throw r
return (
s.constructor === ArrayBuffer && (s = new Uint8Array(s)),
Array.isArray(s) || ArrayBuffer.isView(s) || s.constructor === i
? e.createHash('md5').update(new i(s)).digest('hex')
: t(s)
)
}
return s
}
;(t.prototype.update = function (t) {
if (!this.finalized) {
var e,
i = typeof t
if ('string' !== i) {
if ('object' !== i) throw r
if (null === t) throw r
if (a && t.constructor === ArrayBuffer) t = new Uint8Array(t)
else if (!(Array.isArray(t) || (a && ArrayBuffer.isView(t)))) throw r
e = !0
}
for (var s, h, f = 0, o = t.length, n = this.blocks, u = this.buffer8; f < o; ) {
if (
(this.hashed &&
((this.hashed = !1),
(n[0] = n[16]),
(n[16] =
n[1] =
n[2] =
n[3] =
n[4] =
n[5] =
n[6] =
n[7] =
n[8] =
n[9] =
n[10] =
n[11] =
n[12] =
n[13] =
n[14] =
n[15] =
0)),
e)
)
if (a) for (h = this.start; f < o && h < 64; ++f) u[h++] = t[f]
else for (h = this.start; f < o && h < 64; ++f) n[h >> 2] |= t[f] << y[3 & h++]
else if (a)
for (h = this.start; f < o && h < 64; ++f)
(s = t.charCodeAt(f)) < 128
? (u[h++] = s)
: s < 2048
? ((u[h++] = 192 | (s >> 6)), (u[h++] = 128 | (63 & s)))
: s < 55296 || s >= 57344
? ((u[h++] = 224 | (s >> 12)),
(u[h++] = 128 | ((s >> 6) & 63)),
(u[h++] = 128 | (63 & s)))
: ((s = 65536 + (((1023 & s) << 10) | (1023 & t.charCodeAt(++f)))),
(u[h++] = 240 | (s >> 18)),
(u[h++] = 128 | ((s >> 12) & 63)),
(u[h++] = 128 | ((s >> 6) & 63)),
(u[h++] = 128 | (63 & s)))
else
for (h = this.start; f < o && h < 64; ++f)
(s = t.charCodeAt(f)) < 128
? (n[h >> 2] |= s << y[3 & h++])
: s < 2048
? ((n[h >> 2] |= (192 | (s >> 6)) << y[3 & h++]),
(n[h >> 2] |= (128 | (63 & s)) << y[3 & h++]))
: s < 55296 || s >= 57344
? ((n[h >> 2] |= (224 | (s >> 12)) << y[3 & h++]),
(n[h >> 2] |= (128 | ((s >> 6) & 63)) << y[3 & h++]),
(n[h >> 2] |= (128 | (63 & s)) << y[3 & h++]))
: ((s = 65536 + (((1023 & s) << 10) | (1023 & t.charCodeAt(++f)))),
(n[h >> 2] |= (240 | (s >> 18)) << y[3 & h++]),
(n[h >> 2] |= (128 | ((s >> 12) & 63)) << y[3 & h++]),
(n[h >> 2] |= (128 | ((s >> 6) & 63)) << y[3 & h++]),
(n[h >> 2] |= (128 | (63 & s)) << y[3 & h++]))
;(this.lastByteIndex = h),
(this.bytes += h - this.start),
h >= 64 ? ((this.start = h - 64), this.hash(), (this.hashed = !0)) : (this.start = h)
}
return (
this.bytes > 4294967295 &&
((this.hBytes += (this.bytes / 4294967296) << 0), (this.bytes = this.bytes % 4294967296)),
this
)
}
}),
(t.prototype.finalize = function () {
if (!this.finalized) {
this.finalized = !0
var t = this.blocks,
r = this.lastByteIndex
;(t[r >> 2] |= u[3 & r]),
r >= 56 &&
(this.hashed || this.hash(),
(t[0] = t[16]),
(t[16] =
t[1] =
t[2] =
t[3] =
t[4] =
t[5] =
t[6] =
t[7] =
t[8] =
t[9] =
t[10] =
t[11] =
t[12] =
t[13] =
t[14] =
t[15] =
0)),
(t[14] = this.bytes << 3),
(t[15] = (this.hBytes << 3) | (this.bytes >>> 29)),
this.hash()
}
}),
(t.prototype.hash = function () {
var t,
r,
e,
i,
s,
h,
f = this.blocks
this.first
? (r =
((((r =
((t = ((((t = f[0] - 680876937) << 7) | (t >>> 25)) - 271733879) << 0) ^
((e =
((((e =
(-271733879 ^
((i =
((((i = (-1732584194 ^ (2004318071 & t)) + f[1] - 117830708) << 12) |
(i >>> 20)) +
t) <<
0) &
(-271733879 ^ t))) +
f[2] -
1126478375) <<
17) |
(e >>> 15)) +
i) <<
0) &
(i ^ t))) +
f[3] -
1316259209) <<
22) |
(r >>> 10)) +
e) <<
0)
: ((t = this.h0),
(r = this.h1),
(e = this.h2),
(r =
((((r +=
((t =
((((t += ((i = this.h3) ^ (r & (e ^ i))) + f[0] - 680876936) << 7) | (t >>> 25)) +
r) <<
0) ^
((e =
((((e +=
(r ^
((i =
((((i += (e ^ (t & (r ^ e))) + f[1] - 389564586) << 12) | (i >>> 20)) +
t) <<
0) &
(t ^ r))) +
f[2] +
606105819) <<
17) |
(e >>> 15)) +
i) <<
0) &
(i ^ t))) +
f[3] -
1044525330) <<
22) |
(r >>> 10)) +
e) <<
0)),
(r =
((((r +=
((t = ((((t += (i ^ (r & (e ^ i))) + f[4] - 176418897) << 7) | (t >>> 25)) + r) << 0) ^
((e =
((((e +=
(r ^
((i =
((