某某云js逆向(两种方法)

2023-10-31 15:30
文章标签 方法 js 两种 逆向 某某

本文主要是介绍某某云js逆向(两种方法),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在进行js逆向练习的时候,碰到了一个网站,在逆向过程中发现该网站类似webpack打包的网站。先简单介绍一下webpack,Webpack 是一个开源的前端打包工具。Webpack 提供了前端开发缺乏的模块化开发方式,将各种静态资源视为模块,并从它生成优化过的代码。(对爬虫儿造成一定的困扰)。

目标网站

aHR0cHM6Ly9tLmN0eXVuLmNuL3dhcC9tYWluL2F1dGgvbG9naW4/cmVkaXJlY3Q9JTJGbXltZW5n

目标参数

输入参数之后,点击登录,在network中找到具体的请求。如下图所示:
在这里插入图片描述
可以看到password参数是加密过的,curTime应该是时间戳,seqCode和signature好像也是加密后的数据。这里先介绍password参数的加密。
在这里插入图片描述

流程

首先,找到加密逻辑位置。这里就不详细介绍了(因为方法有很多,个人有个人的独门绝技),password的加密逻辑如下图:
在这里插入图片描述
在这里打上断点之后,再重新发起一遍请求,可以发现这里的a.value是明文的密码,s.value是明文账号。encodeURI就是对字符串进行url编码。那么我们主要的目标就是l[“c”]、l[“f”]、l[“g”]。
下面我们就来解决这些问题:

第一种方法

先讲一种基本的解决方案:既然我们当前的目标是找到这三个l[x]对应的方法,那么我们可以直接在调试过程中进入到具体的方法内部,然后将其逻辑拿出来即可。

首先是l[“g”],我们在该处打上断点,然后发起请求,之后js会停在该位置,这时我们可以点进去查看该方法的具体逻辑,如下所示:
在这里插入图片描述
大概看一下该函数,其作用大概是对字符串进行替换,主要是去空字符。没什么复杂的逻辑,直接扣下来即可。

然后再来看l[“f”],其具体逻辑如下:
在这里插入图片描述
我们来看一下其逻辑,其实也是对字符串进行操作,满足条件怎么样,不满足条件又怎么样。这段代码也不涉及额外的部分,直接拿下来即可。

那么,最后就到了我们的l[“c”]了,直接进到具体的方法内部查看,如下图所示:
在这里插入图片描述
看一下具体的逻辑,可以发现这里应该就是最核心的加密逻辑了。TripleDES 其实是一种对称加密算法,俗称三重DES加密。

可能有的小伙伴看出来了,这里的关键就是p,只要拿到了p,那么我们就可以完成加密了。但在这里,我们可以首先尝试一下另一种简单的方法。那就是直接调用写好的加解密模块去进行加密,然后对其结果进行测试,如果正确,那么我们就不需要在花费时间去扣代码了。

调用模块进行加密比较简单,这里就直接放代码了。

var CryptoJS = require('crypto-js')K = function() {var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";return e.replace(/\s+/g, "")
};F = function(e) {var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};if (e && "string" === typeof e) {var t = n.text || "0", a = n.length || 24;if (e.length < a)for (var r = e.length; r < a; r++)e += t;elsee = e.substring(0, a);return e}
}
H = function(e) {var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";var t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};var a = t.enc;var r = void 0 === a ? "Utf8" : a;var c = t.mode;var i = void 0 === c ? "ECB" : c;var o = t.padding;var u = void 0 === o ? "Pkcs7" : o;// console.log(n,t,a,r,c,i,o,u)var d = CryptoJS.enc[r].parse(n);var l = {mode: CryptoJS.mode[i],padding: CryptoJS.pad[u]}, s = CryptoJS.TripleDES.encrypt(e, d, l);return s.toString()
}console.log(encodeURI(H("123456", F(K("2018@163.com")))))

其加密结果为 eVMDp10aIMY=,和前面的password对比一下,发现结果是相同的,那就很🆗了。问题解决。

第二种方法

在这里还有另一种方法,之前不是说找到p就可以进行加密了吗,那我们就来找一找这个p是什么东西。
还是一样的步骤,我们在进入到 l[“c”] 方法中后,在p处打上断点,然后进行单步调试,在p处断下之后,我们可以直接跟到p里面,发现其跳转到如下位置:
在这里插入图片描述
可能有的小伙伴一脸懵逼,这是啥玩意?但对于对爬虫有些研究的小伙伴来说,这大概就能猜出来是webpack了吧。其实这里还有另一种找p的方法。回到我们刚才在p处打下的断点位置,从此处向上找,我们可以发现p的赋值位置,如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/8f86c32d6ae54b0fb7feeb51c0279cb3.png
看到这里,大概很多人就明白了。这就是webpack常用到的调包方法。这里 t 应该就是调度器了,这里先调用"3452"模块赋值给s,然后调用 t.n 方法,s作为参数。

明白是webpack打包之后,我们的思路应该就很清晰了,首先找到自执行函数,然后找到调度器,再拿到我们需要的模块,最后将其导出进行加密即可。

既然我们觉得 t 是调度器,那么我们可以直接跟到 t 里面,也可以去文件首部看一下(可以在编辑器里面查看更方便)。在文件首部,我们可以发现文件整体就是一个自执行函数,并且在文件首部找到如下代码:
在这里插入图片描述
在这里方法 u 应该就是我们所需要的调度器了。那么我们就可以先把自执行函数和调度器拿下来。

然后,再去拿我们所需的模块。在刚才的分析过程中,加密主要用到了“3452”模块,那么我们可以去搜索一下该模块并将其拿下来。至此,我们就可以对我们拿下来的代码进行初步调试了,缺什么补什么就好了。(这里也可以直接把所有模块拿下来,但可能会有些问题),初步js代码如下:

(function(e) {var a = {}, r = {main: 0}, c = {main: 0}, i = [];function u(n) {if (a[n])return a[n].exports;var t = a[n] = {i: n,l: !1,exports: {}};return e[n].call(t.exports, t, t.exports, u),t.l = !0,t.exports}u.d = function(e, n, t) {u.o(e, n) || Object.defineProperty(e, n, {enumerable: !0,get: t})},u.n = function(e) {var n = e && e.__esModule ? function() {return e["default"]}: function() {return e};return u.d(n, "a", n),n},u.o = function(e, n) {return Object.prototype.hasOwnProperty.call(e, n)}
}
)({3452: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("3252"), n("17e1"), n("a8ce"), n("1132"), n("72fe"), n("df2f"), n("94f8"), n("191b"), n("d6e6"), n("b86b"), n("e61b"), n("10b7"), n("5980"), n("7bbc"), n("2b79"), n("38ba"), n("00bb"), n("f4ea"), n("aaef"), n("4ba9"), n("81bf"), n("a817"), n("a11b"), n("8cef"), n("2a66"), n("b86c"), n("6d08"), n("c198"), n("a40e"), n("c3b6"), n("1382"), n("3d5a"))})(0, (function(t) {return t}))}
}
);

在调试过程中,可能会出现以下错误,这就是缺少模块,去补模块就行了。
在这里插入图片描述
加密到这里基本就完了,另外两个参数不涉及加密。最终补完代码如下(代码较多,但比全部拿下来还是要少的):

var res;
(function(e) {var a = {}, r = {main: 0}, c = {main: 0}, i = [];function u(n) {if (a[n])return a[n].exports;var t = a[n] = {i: n,l: !1,exports: {}};return e[n].call(t.exports, t, t.exports, u),t.l = !0,t.exports}u.d = function(e, n, t) {u.o(e, n) || Object.defineProperty(e, n, {enumerable: !0,get: t})},u.n = function(e) {var n = e && e.__esModule ? function() {return e["default"]}: function() {return e};return u.d(n, "a", n),n},u.o = function(e, n) {return Object.prototype.hasOwnProperty.call(e, n)}res = u
}
)({3452: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("3252"), n("17e1"), n("a8ce"), n("1132"), n("72fe"), n("df2f"), n("94f8"), n("191b"), n("d6e6"), n("b86b"), n("e61b"), n("10b7"), n("5980"), n("7bbc"), n("2b79"), n("38ba"), n("00bb"), n("f4ea"), n("aaef"), n("4ba9"), n("81bf"), n("a817"), n("a11b"), n("8cef"), n("2a66"), n("b86c"), n("6d08"), n("c198"), n("a40e"), n("c3b6"), n("1382"), n("3d5a"))})(0, (function(t) {return t}))},"3d5a": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("1132"), n("72fe"), n("2b79"), n("38ba"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.StreamCipher, o = e.algo, i = [], a = [], u = [], c = o.RabbitLegacy = r.extend({_doReset: function() {var t = this._key.words, e = this.cfg.iv, n = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], r = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]];this._b = 0;for (var o = 0; o < 4; o++)s.call(this);for (o = 0; o < 8; o++)r[o] ^= n[o + 4 & 7];if (e) {var i = e.words, a = i[0], u = i[1], c = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), f = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), l = c >>> 16 | 4294901760 & f, p = f << 16 | 65535 & c;r[0] ^= c,r[1] ^= l,r[2] ^= f,r[3] ^= p,r[4] ^= c,r[5] ^= l,r[6] ^= f,r[7] ^= p;for (o = 0; o < 4; o++)s.call(this)}},_doProcessBlock: function(t, e) {var n = this._X;s.call(this),i[0] = n[0] ^ n[5] >>> 16 ^ n[3] << 16,i[1] = n[2] ^ n[7] >>> 16 ^ n[5] << 16,i[2] = n[4] ^ n[1] >>> 16 ^ n[7] << 16,i[3] = n[6] ^ n[3] >>> 16 ^ n[1] << 16;for (var r = 0; r < 4; r++)i[r] = 16711935 & (i[r] << 8 | i[r] >>> 24) | 4278255360 & (i[r] << 24 | i[r] >>> 8),t[e + r] ^= i[r]},blockSize: 4,ivSize: 2});function s() {for (var t = this._X, e = this._C, n = 0; n < 8; n++)a[n] = e[n];e[0] = e[0] + 1295307597 + this._b | 0,e[1] = e[1] + 3545052371 + (e[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0,e[2] = e[2] + 886263092 + (e[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0,e[3] = e[3] + 1295307597 + (e[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0,e[4] = e[4] + 3545052371 + (e[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0,e[5] = e[5] + 886263092 + (e[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0,e[6] = e[6] + 1295307597 + (e[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0,e[7] = e[7] + 3545052371 + (e[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0,this._b = e[7] >>> 0 < a[7] >>> 0 ? 1 : 0;for (n = 0; n < 8; n++) {var r = t[n] + e[n], o = 65535 & r, i = r >>> 16, c = ((o * o >>> 17) + o * i >>> 15) + i * i, s = ((4294901760 & r) * r | 0) + ((65535 & r) * r | 0);u[n] = c ^ s}t[0] = u[0] + (u[7] << 16 | u[7] >>> 16) + (u[6] << 16 | u[6] >>> 16) | 0,t[1] = u[1] + (u[0] << 8 | u[0] >>> 24) + u[7] | 0,t[2] = u[2] + (u[1] << 16 | u[1] >>> 16) + (u[0] << 16 | u[0] >>> 16) | 0,t[3] = u[3] + (u[2] << 8 | u[2] >>> 24) + u[1] | 0,t[4] = u[4] + (u[3] << 16 | u[3] >>> 16) + (u[2] << 16 | u[2] >>> 16) | 0,t[5] = u[5] + (u[4] << 8 | u[4] >>> 24) + u[3] | 0,t[6] = u[6] + (u[5] << 16 | u[5] >>> 16) + (u[4] << 16 | u[4] >>> 16) | 0,t[7] = u[7] + (u[6] << 8 | u[6] >>> 24) + u[5] | 0}e.RabbitLegacy = r._createHelper(c)}(),t.RabbitLegacy}))},1382: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("1132"), n("72fe"), n("2b79"), n("38ba"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.StreamCipher, o = e.algo, i = [], a = [], u = [], c = o.Rabbit = r.extend({_doReset: function() {for (var t = this._key.words, e = this.cfg.iv, n = 0; n < 4; n++)t[n] = 16711935 & (t[n] << 8 | t[n] >>> 24) | 4278255360 & (t[n] << 24 | t[n] >>> 8);var r = this._X = [t[0], t[3] << 16 | t[2] >>> 16, t[1], t[0] << 16 | t[3] >>> 16, t[2], t[1] << 16 | t[0] >>> 16, t[3], t[2] << 16 | t[1] >>> 16], o = this._C = [t[2] << 16 | t[2] >>> 16, 4294901760 & t[0] | 65535 & t[1], t[3] << 16 | t[3] >>> 16, 4294901760 & t[1] | 65535 & t[2], t[0] << 16 | t[0] >>> 16, 4294901760 & t[2] | 65535 & t[3], t[1] << 16 | t[1] >>> 16, 4294901760 & t[3] | 65535 & t[0]];this._b = 0;for (n = 0; n < 4; n++)s.call(this);for (n = 0; n < 8; n++)o[n] ^= r[n + 4 & 7];if (e) {var i = e.words, a = i[0], u = i[1], c = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8), f = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8), l = c >>> 16 | 4294901760 & f, p = f << 16 | 65535 & c;o[0] ^= c,o[1] ^= l,o[2] ^= f,o[3] ^= p,o[4] ^= c,o[5] ^= l,o[6] ^= f,o[7] ^= p;for (n = 0; n < 4; n++)s.call(this)}},_doProcessBlock: function(t, e) {var n = this._X;s.call(this),i[0] = n[0] ^ n[5] >>> 16 ^ n[3] << 16,i[1] = n[2] ^ n[7] >>> 16 ^ n[5] << 16,i[2] = n[4] ^ n[1] >>> 16 ^ n[7] << 16,i[3] = n[6] ^ n[3] >>> 16 ^ n[1] << 16;for (var r = 0; r < 4; r++)i[r] = 16711935 & (i[r] << 8 | i[r] >>> 24) | 4278255360 & (i[r] << 24 | i[r] >>> 8),t[e + r] ^= i[r]},blockSize: 4,ivSize: 2});function s() {for (var t = this._X, e = this._C, n = 0; n < 8; n++)a[n] = e[n];e[0] = e[0] + 1295307597 + this._b | 0,e[1] = e[1] + 3545052371 + (e[0] >>> 0 < a[0] >>> 0 ? 1 : 0) | 0,e[2] = e[2] + 886263092 + (e[1] >>> 0 < a[1] >>> 0 ? 1 : 0) | 0,e[3] = e[3] + 1295307597 + (e[2] >>> 0 < a[2] >>> 0 ? 1 : 0) | 0,e[4] = e[4] + 3545052371 + (e[3] >>> 0 < a[3] >>> 0 ? 1 : 0) | 0,e[5] = e[5] + 886263092 + (e[4] >>> 0 < a[4] >>> 0 ? 1 : 0) | 0,e[6] = e[6] + 1295307597 + (e[5] >>> 0 < a[5] >>> 0 ? 1 : 0) | 0,e[7] = e[7] + 3545052371 + (e[6] >>> 0 < a[6] >>> 0 ? 1 : 0) | 0,this._b = e[7] >>> 0 < a[7] >>> 0 ? 1 : 0;for (n = 0; n < 8; n++) {var r = t[n] + e[n], o = 65535 & r, i = r >>> 16, c = ((o * o >>> 17) + o * i >>> 15) + i * i, s = ((4294901760 & r) * r | 0) + ((65535 & r) * r | 0);u[n] = c ^ s}t[0] = u[0] + (u[7] << 16 | u[7] >>> 16) + (u[6] << 16 | u[6] >>> 16) | 0,t[1] = u[1] + (u[0] << 8 | u[0] >>> 24) + u[7] | 0,t[2] = u[2] + (u[1] << 16 | u[1] >>> 16) + (u[0] << 16 | u[0] >>> 16) | 0,t[3] = u[3] + (u[2] << 8 | u[2] >>> 24) + u[1] | 0,t[4] = u[4] + (u[3] << 16 | u[3] >>> 16) + (u[2] << 16 | u[2] >>> 16) | 0,t[5] = u[5] + (u[4] << 8 | u[4] >>> 24) + u[3] | 0,t[6] = u[6] + (u[5] << 16 | u[5] >>> 16) + (u[4] << 16 | u[4] >>> 16) | 0,t[7] = u[7] + (u[6] << 8 | u[6] >>> 24) + u[5] | 0}e.Rabbit = r._createHelper(c)}(),t.Rabbit}))},c3b6: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("1132"), n("72fe"), n("2b79"), n("38ba"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.StreamCipher, o = e.algo, i = o.RC4 = r.extend({_doReset: function() {for (var t = this._key, e = t.words, n = t.sigBytes, r = this._S = [], o = 0; o < 256; o++)r[o] = o;o = 0;for (var i = 0; o < 256; o++) {var a = o % n, u = e[a >>> 2] >>> 24 - a % 4 * 8 & 255;i = (i + r[o] + u) % 256;var c = r[o];r[o] = r[i],r[i] = c}this._i = this._j = 0},_doProcessBlock: function(t, e) {t[e] ^= a.call(this)},keySize: 8,ivSize: 0});function a() {for (var t = this._S, e = this._i, n = this._j, r = 0, o = 0; o < 4; o++) {e = (e + 1) % 256,n = (n + t[e]) % 256;var i = t[e];t[e] = t[n],t[n] = i,r |= t[(t[e] + t[n]) % 256] << 24 - 8 * o}return this._i = e,this._j = n,r}e.RC4 = r._createHelper(i);var u = o.RC4Drop = i.extend({cfg: i.cfg.extend({drop: 192}),_doReset: function() {i._doReset.call(this);for (var t = this.cfg.drop; t > 0; t--)a.call(this)}});e.RC4Drop = r._createHelper(u)}(),t.RC4}))},a40e: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("1132"), n("72fe"), n("2b79"), n("38ba"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.WordArray, o = n.BlockCipher, i = e.algo, a = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4], u = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32], c = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], s = [{0: 8421888,268435456: 32768,536870912: 8421378,805306368: 2,1073741824: 512,1342177280: 8421890,1610612736: 8389122,1879048192: 8388608,2147483648: 514,2415919104: 8389120,2684354560: 33280,2952790016: 8421376,3221225472: 32770,3489660928: 8388610,3758096384: 0,4026531840: 33282,134217728: 0,402653184: 8421890,671088640: 33282,939524096: 32768,1207959552: 8421888,1476395008: 512,1744830464: 8421378,2013265920: 2,2281701376: 8389120,2550136832: 33280,2818572288: 8421376,3087007744: 8389122,3355443200: 8388610,3623878656: 32770,3892314112: 514,4160749568: 8388608,1: 32768,268435457: 2,536870913: 8421888,805306369: 8388608,1073741825: 8421378,1342177281: 33280,1610612737: 512,1879048193: 8389122,2147483649: 8421890,2415919105: 8421376,2684354561: 8388610,2952790017: 33282,3221225473: 514,3489660929: 8389120,3758096385: 32770,4026531841: 0,134217729: 8421890,402653185: 8421376,671088641: 8388608,939524097: 512,1207959553: 32768,1476395009: 8388610,1744830465: 2,2013265921: 33282,2281701377: 32770,2550136833: 8389122,2818572289: 514,3087007745: 8421888,3355443201: 8389120,3623878657: 0,3892314113: 33280,4160749569: 8421378}, {0: 1074282512,16777216: 16384,33554432: 524288,50331648: 1074266128,67108864: 1073741840,83886080: 1074282496,100663296: 1073758208,117440512: 16,134217728: 540672,150994944: 1073758224,167772160: 1073741824,184549376: 540688,201326592: 524304,218103808: 0,234881024: 16400,251658240: 1074266112,8388608: 1073758208,25165824: 540688,41943040: 16,58720256: 1073758224,75497472: 1074282512,92274688: 1073741824,109051904: 524288,125829120: 1074266128,142606336: 524304,159383552: 0,176160768: 16384,192937984: 1074266112,209715200: 1073741840,226492416: 540672,243269632: 1074282496,260046848: 16400,268435456: 0,285212672: 1074266128,301989888: 1073758224,318767104: 1074282496,335544320: 1074266112,352321536: 16,369098752: 540688,385875968: 16384,402653184: 16400,419430400: 524288,436207616: 524304,452984832: 1073741840,469762048: 540672,486539264: 1073758208,503316480: 1073741824,520093696: 1074282512,276824064: 540688,293601280: 524288,310378496: 1074266112,327155712: 16384,343932928: 1073758208,360710144: 1074282512,377487360: 16,394264576: 1073741824,411041792: 1074282496,427819008: 1073741840,444596224: 1073758224,461373440: 524304,478150656: 0,494927872: 16400,511705088: 1074266128,528482304: 540672}, {0: 260,1048576: 0,2097152: 67109120,3145728: 65796,4194304: 65540,5242880: 67108868,6291456: 67174660,7340032: 67174400,8388608: 67108864,9437184: 67174656,10485760: 65792,11534336: 67174404,12582912: 67109124,13631488: 65536,14680064: 4,15728640: 256,524288: 67174656,1572864: 67174404,2621440: 0,3670016: 67109120,4718592: 67108868,5767168: 65536,6815744: 65540,7864320: 260,8912896: 4,9961472: 256,11010048: 67174400,12058624: 65796,13107200: 65792,14155776: 67109124,15204352: 67174660,16252928: 67108864,16777216: 67174656,17825792: 65540,18874368: 65536,19922944: 67109120,20971520: 256,22020096: 67174660,23068672: 67108868,24117248: 0,25165824: 67109124,26214400: 67108864,27262976: 4,28311552: 65792,29360128: 67174400,30408704: 260,31457280: 65796,32505856: 67174404,17301504: 67108864,18350080: 260,19398656: 67174656,20447232: 0,21495808: 65540,22544384: 67109120,23592960: 256,24641536: 67174404,25690112: 65536,26738688: 67174660,27787264: 65796,28835840: 67108868,29884416: 67109124,30932992: 67174400,31981568: 4,33030144: 65792}, {0: 2151682048,65536: 2147487808,131072: 4198464,196608: 2151677952,262144: 0,327680: 4198400,393216: 2147483712,458752: 4194368,524288: 2147483648,589824: 4194304,655360: 64,720896: 2147487744,786432: 2151678016,851968: 4160,917504: 4096,983040: 2151682112,32768: 2147487808,98304: 64,163840: 2151678016,229376: 2147487744,294912: 4198400,360448: 2151682112,425984: 0,491520: 2151677952,557056: 4096,622592: 2151682048,688128: 4194304,753664: 4160,819200: 2147483648,884736: 4194368,950272: 4198464,1015808: 2147483712,1048576: 4194368,1114112: 4198400,1179648: 2147483712,1245184: 0,1310720: 4160,1376256: 2151678016,1441792: 2151682048,1507328: 2147487808,1572864: 2151682112,1638400: 2147483648,1703936: 2151677952,1769472: 4198464,1835008: 2147487744,1900544: 4194304,1966080: 64,2031616: 4096,1081344: 2151677952,1146880: 2151682112,1212416: 0,1277952: 4198400,1343488: 4194368,1409024: 2147483648,1474560: 2147487808,1540096: 64,1605632: 2147483712,1671168: 4096,1736704: 2147487744,1802240: 2151678016,1867776: 4160,1933312: 2151682048,1998848: 4194304,2064384: 4198464}, {0: 128,4096: 17039360,8192: 262144,12288: 536870912,16384: 537133184,20480: 16777344,24576: 553648256,28672: 262272,32768: 16777216,36864: 537133056,40960: 536871040,45056: 553910400,49152: 553910272,53248: 0,57344: 17039488,61440: 553648128,2048: 17039488,6144: 553648256,10240: 128,14336: 17039360,18432: 262144,22528: 537133184,26624: 553910272,30720: 536870912,34816: 537133056,38912: 0,43008: 553910400,47104: 16777344,51200: 536871040,55296: 553648128,59392: 16777216,63488: 262272,65536: 262144,69632: 128,73728: 536870912,77824: 553648256,81920: 16777344,86016: 553910272,90112: 537133184,94208: 16777216,98304: 553910400,102400: 553648128,106496: 17039360,110592: 537133056,114688: 262272,118784: 536871040,122880: 0,126976: 17039488,67584: 553648256,71680: 16777216,75776: 17039360,79872: 537133184,83968: 536870912,88064: 17039488,92160: 128,96256: 553910272,100352: 262272,104448: 553910400,108544: 0,112640: 553648128,116736: 16777344,120832: 262144,124928: 537133056,129024: 536871040}, {0: 268435464,256: 8192,512: 270532608,768: 270540808,1024: 268443648,1280: 2097152,1536: 2097160,1792: 268435456,2048: 0,2304: 268443656,2560: 2105344,2816: 8,3072: 270532616,3328: 2105352,3584: 8200,3840: 270540800,128: 270532608,384: 270540808,640: 8,896: 2097152,1152: 2105352,1408: 268435464,1664: 268443648,1920: 8200,2176: 2097160,2432: 8192,2688: 268443656,2944: 270532616,3200: 0,3456: 270540800,3712: 2105344,3968: 268435456,4096: 268443648,4352: 270532616,4608: 270540808,4864: 8200,5120: 2097152,5376: 268435456,5632: 268435464,5888: 2105344,6144: 2105352,6400: 0,6656: 8,6912: 270532608,7168: 8192,7424: 268443656,7680: 270540800,7936: 2097160,4224: 8,4480: 2105344,4736: 2097152,4992: 268435464,5248: 268443648,5504: 8200,5760: 270540808,6016: 270532608,6272: 270540800,6528: 270532616,6784: 8192,7040: 2105352,7296: 2097160,7552: 0,7808: 268435456,8064: 268443656}, {0: 1048576,16: 33555457,32: 1024,48: 1049601,64: 34604033,80: 0,96: 1,112: 34603009,128: 33555456,144: 1048577,160: 33554433,176: 34604032,192: 34603008,208: 1025,224: 1049600,240: 33554432,8: 34603009,24: 0,40: 33555457,56: 34604032,72: 1048576,88: 33554433,104: 33554432,120: 1025,136: 1049601,152: 33555456,168: 34603008,184: 1048577,200: 1024,216: 34604033,232: 1,248: 1049600,256: 33554432,272: 1048576,288: 33555457,304: 34603009,320: 1048577,336: 33555456,352: 34604032,368: 1049601,384: 1025,400: 34604033,416: 1049600,432: 1,448: 0,464: 34603008,480: 33554433,496: 1024,264: 1049600,280: 33555457,296: 34603009,312: 1,328: 33554432,344: 1048576,360: 1025,376: 34604032,392: 33554433,408: 34603008,424: 0,440: 34604033,456: 1049601,472: 1024,488: 33555456,504: 1048577}, {0: 134219808,1: 131072,2: 134217728,3: 32,4: 131104,5: 134350880,6: 134350848,7: 2048,8: 134348800,9: 134219776,10: 133120,11: 134348832,12: 2080,13: 0,14: 134217760,15: 133152,2147483648: 2048,2147483649: 134350880,2147483650: 134219808,2147483651: 134217728,2147483652: 134348800,2147483653: 133120,2147483654: 133152,2147483655: 32,2147483656: 134217760,2147483657: 2080,2147483658: 131104,2147483659: 134350848,2147483660: 0,2147483661: 134348832,2147483662: 134219776,2147483663: 131072,16: 133152,17: 134350848,18: 32,19: 2048,20: 134219776,21: 134217760,22: 134348832,23: 131072,24: 0,25: 131104,26: 134348800,27: 134219808,28: 134350880,29: 133120,30: 2080,31: 134217728,2147483664: 131072,2147483665: 2048,2147483666: 134348832,2147483667: 133152,2147483668: 32,2147483669: 134348800,2147483670: 134217728,2147483671: 134219808,2147483672: 134350880,2147483673: 134217760,2147483674: 134219776,2147483675: 0,2147483676: 133120,2147483677: 2080,2147483678: 131104,2147483679: 134350848}], f = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679], l = i.DES = o.extend({_doReset: function() {for (var t = this._key, e = t.words, n = [], r = 0; r < 56; r++) {var o = a[r] - 1;n[r] = e[o >>> 5] >>> 31 - o % 32 & 1}for (var i = this._subKeys = [], s = 0; s < 16; s++) {var f = i[s] = [], l = c[s];for (r = 0; r < 24; r++)f[r / 6 | 0] |= n[(u[r] - 1 + l) % 28] << 31 - r % 6,f[4 + (r / 6 | 0)] |= n[28 + (u[r + 24] - 1 + l) % 28] << 31 - r % 6;f[0] = f[0] << 1 | f[0] >>> 31;for (r = 1; r < 7; r++)f[r] = f[r] >>> 4 * (r - 1) + 3;f[7] = f[7] << 5 | f[7] >>> 27}var p = this._invSubKeys = [];for (r = 0; r < 16; r++)p[r] = i[15 - r]},encryptBlock: function(t, e) {this._doCryptBlock(t, e, this._subKeys)},decryptBlock: function(t, e) {this._doCryptBlock(t, e, this._invSubKeys)},_doCryptBlock: function(t, e, n) {this._lBlock = t[e],this._rBlock = t[e + 1],p.call(this, 4, 252645135),p.call(this, 16, 65535),h.call(this, 2, 858993459),h.call(this, 8, 16711935),p.call(this, 1, 1431655765);for (var r = 0; r < 16; r++) {for (var o = n[r], i = this._lBlock, a = this._rBlock, u = 0, c = 0; c < 8; c++)u |= s[c][((a ^ o[c]) & f[c]) >>> 0];this._lBlock = a,this._rBlock = i ^ u}var l = this._lBlock;this._lBlock = this._rBlock,this._rBlock = l,p.call(this, 1, 1431655765),h.call(this, 8, 16711935),h.call(this, 2, 858993459),p.call(this, 16, 65535),p.call(this, 4, 252645135),t[e] = this._lBlock,t[e + 1] = this._rBlock},keySize: 2,ivSize: 2,blockSize: 2});function p(t, e) {var n = (this._lBlock >>> t ^ this._rBlock) & e;this._rBlock ^= n,this._lBlock ^= n << t}function h(t, e) {var n = (this._rBlock >>> t ^ this._lBlock) & e;this._lBlock ^= n,this._rBlock ^= n << t}e.DES = o._createHelper(l);var d = i.TripleDES = o.extend({_doReset: function() {var t = this._key, e = t.words;this._des1 = l.createEncryptor(r.create(e.slice(0, 2))),this._des2 = l.createEncryptor(r.create(e.slice(2, 4))),this._des3 = l.createEncryptor(r.create(e.slice(4, 6)))},encryptBlock: function(t, e) {this._des1.encryptBlock(t, e),this._des2.decryptBlock(t, e),this._des3.encryptBlock(t, e)},decryptBlock: function(t, e) {this._des3.decryptBlock(t, e),this._des2.encryptBlock(t, e),this._des1.decryptBlock(t, e)},keySize: 6,ivSize: 2,blockSize: 2});e.TripleDES = o._createHelper(d)}(),t.TripleDES}))},c198: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("1132"), n("72fe"), n("2b79"), n("38ba"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.BlockCipher, o = e.algo, i = [], a = [], u = [], c = [], s = [], f = [], l = [], p = [], h = [], d = [];(function() {for (var t = [], e = 0; e < 256; e++)t[e] = e < 128 ? e << 1 : e << 1 ^ 283;var n = 0, r = 0;for (e = 0; e < 256; e++) {var o = r ^ r << 1 ^ r << 2 ^ r << 3 ^ r << 4;o = o >>> 8 ^ 255 & o ^ 99,i[n] = o,a[o] = n;var v = t[n], y = t[v], g = t[y], b = 257 * t[o] ^ 16843008 * o;u[n] = b << 24 | b >>> 8,c[n] = b << 16 | b >>> 16,s[n] = b << 8 | b >>> 24,f[n] = b;b = 16843009 * g ^ 65537 * y ^ 257 * v ^ 16843008 * n;l[o] = b << 24 | b >>> 8,p[o] = b << 16 | b >>> 16,h[o] = b << 8 | b >>> 24,d[o] = b,n ? (n = v ^ t[t[t[g ^ v]]],r ^= t[t[r]]) : n = r = 1}})();var v = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], y = o.AES = r.extend({_doReset: function() {if (!this._nRounds || this._keyPriorReset !== this._key) {for (var t = this._keyPriorReset = this._key, e = t.words, n = t.sigBytes / 4, r = this._nRounds = n + 6, o = 4 * (r + 1), a = this._keySchedule = [], u = 0; u < o; u++)if (u < n)a[u] = e[u];else {var c = a[u - 1];u % n ? n > 6 && u % n == 4 && (c = i[c >>> 24] << 24 | i[c >>> 16 & 255] << 16 | i[c >>> 8 & 255] << 8 | i[255 & c]) : (c = c << 8 | c >>> 24,c = i[c >>> 24] << 24 | i[c >>> 16 & 255] << 16 | i[c >>> 8 & 255] << 8 | i[255 & c],c ^= v[u / n | 0] << 24),a[u] = a[u - n] ^ c}for (var s = this._invKeySchedule = [], f = 0; f < o; f++) {u = o - f;if (f % 4)c = a[u];elsec = a[u - 4];s[f] = f < 4 || u <= 4 ? c : l[i[c >>> 24]] ^ p[i[c >>> 16 & 255]] ^ h[i[c >>> 8 & 255]] ^ d[i[255 & c]]}}},encryptBlock: function(t, e) {this._doCryptBlock(t, e, this._keySchedule, u, c, s, f, i)},decryptBlock: function(t, e) {var n = t[e + 1];t[e + 1] = t[e + 3],t[e + 3] = n,this._doCryptBlock(t, e, this._invKeySchedule, l, p, h, d, a);n = t[e + 1];t[e + 1] = t[e + 3],t[e + 3] = n},_doCryptBlock: function(t, e, n, r, o, i, a, u) {for (var c = this._nRounds, s = t[e] ^ n[0], f = t[e + 1] ^ n[1], l = t[e + 2] ^ n[2], p = t[e + 3] ^ n[3], h = 4, d = 1; d < c; d++) {var v = r[s >>> 24] ^ o[f >>> 16 & 255] ^ i[l >>> 8 & 255] ^ a[255 & p] ^ n[h++], y = r[f >>> 24] ^ o[l >>> 16 & 255] ^ i[p >>> 8 & 255] ^ a[255 & s] ^ n[h++], g = r[l >>> 24] ^ o[p >>> 16 & 255] ^ i[s >>> 8 & 255] ^ a[255 & f] ^ n[h++], b = r[p >>> 24] ^ o[s >>> 16 & 255] ^ i[f >>> 8 & 255] ^ a[255 & l] ^ n[h++];s = v,f = y,l = g,p = b}v = (u[s >>> 24] << 24 | u[f >>> 16 & 255] << 16 | u[l >>> 8 & 255] << 8 | u[255 & p]) ^ n[h++],y = (u[f >>> 24] << 24 | u[l >>> 16 & 255] << 16 | u[p >>> 8 & 255] << 8 | u[255 & s]) ^ n[h++],g = (u[l >>> 24] << 24 | u[p >>> 16 & 255] << 16 | u[s >>> 8 & 255] << 8 | u[255 & f]) ^ n[h++],b = (u[p >>> 24] << 24 | u[s >>> 16 & 255] << 16 | u[f >>> 8 & 255] << 8 | u[255 & l]) ^ n[h++];t[e] = v,t[e + 1] = y,t[e + 2] = g,t[e + 3] = b},keySize: 8});e.AES = r._createHelper(y)}(),t.AES}))},"6d08": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return function(e) {var n = t, r = n.lib, o = r.CipherParams, i = n.enc, a = i.Hex, u = n.format;u.Hex = {stringify: function(t) {return t.ciphertext.toString(a)},parse: function(t) {var e = a.parse(t);return o.create({ciphertext: e})}}}(),t.format.Hex}))},b86c: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.pad.NoPadding = {pad: function() {},unpad: function() {}},t.pad.NoPadding}))},"2a66": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.pad.ZeroPadding = {pad: function(t, e) {var n = 4 * e;t.clamp(),t.sigBytes += n - (t.sigBytes % n || n)},unpad: function(t) {var e = t.words, n = t.sigBytes - 1;while (!(e[n >>> 2] >>> 24 - n % 4 * 8 & 255))n--;t.sigBytes = n + 1}},t.pad.ZeroPadding}))},"8cef": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.pad.Iso97971 = {pad: function(e, n) {e.concat(t.lib.WordArray.create([2147483648], 1)),t.pad.ZeroPadding.pad(e, n)},unpad: function(e) {t.pad.ZeroPadding.unpad(e),e.sigBytes--}},t.pad.Iso97971}))},a11b: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.pad.Iso10126 = {pad: function(e, n) {var r = 4 * n, o = r - e.sigBytes % r;e.concat(t.lib.WordArray.random(o - 1)).concat(t.lib.WordArray.create([o << 24], 1))},unpad: function(t) {var e = 255 & t.words[t.sigBytes - 1 >>> 2];t.sigBytes -= e}},t.pad.Iso10126}))},a817: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.pad.AnsiX923 = {pad: function(t, e) {var n = t.sigBytes, r = 4 * e, o = r - n % r, i = n + o - 1;t.clamp(),t.words[i >>> 2] |= o << 24 - i % 4 * 8,t.sigBytes += o},unpad: function(t) {var e = 255 & t.words[t.sigBytes - 1 >>> 2];t.sigBytes -= e}},t.pad.Ansix923}))},"81bf": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.mode.ECB = function() {var e = t.lib.BlockCipherMode.extend();return e.Encryptor = e.extend({processBlock: function(t, e) {this._cipher.encryptBlock(t, e)}}),e.Decryptor = e.extend({processBlock: function(t, e) {this._cipher.decryptBlock(t, e)}}),e}(),t.mode.ECB}))},"4ba9": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.mode.OFB = function() {var e = t.lib.BlockCipherMode.extend(), n = e.Encryptor = e.extend({processBlock: function(t, e) {var n = this._cipher, r = n.blockSize, o = this._iv, i = this._keystream;o && (i = this._keystream = o.slice(0),this._iv = void 0),n.encryptBlock(i, 0);for (var a = 0; a < r; a++)t[e + a] ^= i[a]}});return e.Decryptor = n,e}(),t.mode.OFB}))},aaef: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.mode.CTRGladman = function() {var e = t.lib.BlockCipherMode.extend();function n(t) {if (255 === (t >> 24 & 255)) {var e = t >> 16 & 255, n = t >> 8 & 255, r = 255 & t;255 === e ? (e = 0,255 === n ? (n = 0,255 === r ? r = 0 : ++r) : ++n) : ++e,t = 0,t += e << 16,t += n << 8,t += r} elset += 1 << 24;return t}function r(t) {return 0 === (t[0] = n(t[0])) && (t[1] = n(t[1])),t}var o = e.Encryptor = e.extend({processBlock: function(t, e) {var n = this._cipher, o = n.blockSize, i = this._iv, a = this._counter;i && (a = this._counter = i.slice(0),this._iv = void 0),r(a);var u = a.slice(0);n.encryptBlock(u, 0);for (var c = 0; c < o; c++)t[e + c] ^= u[c]}});return e.Decryptor = o,e}(),t.mode.CTRGladman}))},f4ea: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.mode.CTR = function() {var e = t.lib.BlockCipherMode.extend(), n = e.Encryptor = e.extend({processBlock: function(t, e) {var n = this._cipher, r = n.blockSize, o = this._iv, i = this._counter;o && (i = this._counter = o.slice(0),this._iv = void 0);var a = i.slice(0);n.encryptBlock(a, 0),i[r - 1] = i[r - 1] + 1 | 0;for (var u = 0; u < r; u++)t[e + u] ^= a[u]}});return e.Decryptor = n,e}(),t.mode.CTR}))},"00bb": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("38ba"))})(0, (function(t) {return t.mode.CFB = function() {var e = t.lib.BlockCipherMode.extend();function n(t, e, n, r) {var o = this._iv;if (o) {var i = o.slice(0);this._iv = void 0} elsei = this._prevBlock;r.encryptBlock(i, 0);for (var a = 0; a < n; a++)t[e + a] ^= i[a]}return e.Encryptor = e.extend({processBlock: function(t, e) {var r = this._cipher, o = r.blockSize;n.call(this, t, e, o, r),this._prevBlock = t.slice(e, e + o)}}),e.Decryptor = e.extend({processBlock: function(t, e) {var r = this._cipher, o = r.blockSize, i = t.slice(e, e + o);n.call(this, t, e, o, r),this._prevBlock = i}}),e}(),t.mode.CFB}))},"38ba": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("2b79"))})(0, (function(t) {t.lib.Cipher || function(e) {var n = t, r = n.lib, o = r.Base, i = r.WordArray, a = r.BufferedBlockAlgorithm, u = n.enc, c = (u.Utf8,u.Base64), s = n.algo, f = s.EvpKDF, l = r.Cipher = a.extend({cfg: o.extend(),createEncryptor: function(t, e) {return this.create(this._ENC_XFORM_MODE, t, e)},createDecryptor: function(t, e) {return this.create(this._DEC_XFORM_MODE, t, e)},init: function(t, e, n) {this.cfg = this.cfg.extend(n),this._xformMode = t,this._key = e,this.reset()},reset: function() {a.reset.call(this),this._doReset()},process: function(t) {return this._append(t),this._process()},finalize: function(t) {t && this._append(t);var e = this._doFinalize();return e},keySize: 4,ivSize: 4,_ENC_XFORM_MODE: 1,_DEC_XFORM_MODE: 2,_createHelper: function() {function t(t) {return "string" == typeof t ? S : _}return function(e) {return {encrypt: function(n, r, o) {return t(r).encrypt(e, n, r, o)},decrypt: function(n, r, o) {return t(r).decrypt(e, n, r, o)}}}}()}), p = (r.StreamCipher = l.extend({_doFinalize: function() {var t = this._process(!0);return t},blockSize: 1}),n.mode = {}), h = r.BlockCipherMode = o.extend({createEncryptor: function(t, e) {return this.Encryptor.create(t, e)},createDecryptor: function(t, e) {return this.Decryptor.create(t, e)},init: function(t, e) {this._cipher = t,this._iv = e}}), d = p.CBC = function() {var t = h.extend();function n(t, n, r) {var o = this._iv;if (o) {var i = o;this._iv = e} elsei = this._prevBlock;for (var a = 0; a < r; a++)t[n + a] ^= i[a]}return t.Encryptor = t.extend({processBlock: function(t, e) {var r = this._cipher, o = r.blockSize;n.call(this, t, e, o),r.encryptBlock(t, e),this._prevBlock = t.slice(e, e + o)}}),t.Decryptor = t.extend({processBlock: function(t, e) {var r = this._cipher, o = r.blockSize, i = t.slice(e, e + o);r.decryptBlock(t, e),n.call(this, t, e, o),this._prevBlock = i}}),t}(), v = n.pad = {}, y = v.Pkcs7 = {pad: function(t, e) {for (var n = 4 * e, r = n - t.sigBytes % n, o = r << 24 | r << 16 | r << 8 | r, a = [], u = 0; u < r; u += 4)a.push(o);var c = i.create(a, r);t.concat(c)},unpad: function(t) {var e = 255 & t.words[t.sigBytes - 1 >>> 2];t.sigBytes -= e}}, g = (r.BlockCipher = l.extend({cfg: l.cfg.extend({mode: d,padding: y}),reset: function() {l.reset.call(this);var t = this.cfg, e = t.iv, n = t.mode;if (this._xformMode == this._ENC_XFORM_MODE)var r = n.createEncryptor;else {r = n.createDecryptor;this._minBufferSize = 1}this._mode && this._mode.__creator == r ? this._mode.init(this, e && e.words) : (this._mode = r.call(n, this, e && e.words),this._mode.__creator = r)},_doProcessBlock: function(t, e) {this._mode.processBlock(t, e)},_doFinalize: function() {var t = this.cfg.padding;if (this._xformMode == this._ENC_XFORM_MODE) {t.pad(this._data, this.blockSize);var e = this._process(!0)} else {e = this._process(!0);t.unpad(e)}return e},blockSize: 4}),r.CipherParams = o.extend({init: function(t) {this.mixIn(t)},toString: function(t) {return (t || this.formatter).stringify(this)}})), b = n.format = {}, m = b.OpenSSL = {stringify: function(t) {var e = t.ciphertext, n = t.salt;if (n)var r = i.create([1398893684, 1701076831]).concat(n).concat(e);elser = e;return r.toString(c)},parse: function(t) {var e = c.parse(t), n = e.words;if (1398893684 == n[0] && 1701076831 == n[1]) {var r = i.create(n.slice(2, 4));n.splice(0, 4),e.sigBytes -= 16}return g.create({ciphertext: e,salt: r})}}, _ = r.SerializableCipher = o.extend({cfg: o.extend({format: m}),encrypt: function(t, e, n, r) {r = this.cfg.extend(r);var o = t.createEncryptor(n, r), i = o.finalize(e), a = o.cfg;return g.create({ciphertext: i,key: n,iv: a.iv,algorithm: t,mode: a.mode,padding: a.padding,blockSize: t.blockSize,formatter: r.format})},decrypt: function(t, e, n, r) {r = this.cfg.extend(r),e = this._parse(e, r.format);var o = t.createDecryptor(n, r).finalize(e.ciphertext);return o},_parse: function(t, e) {return "string" == typeof t ? e.parse(t, this) : t}}), w = n.kdf = {}, x = w.OpenSSL = {execute: function(t, e, n, r) {r || (r = i.random(8));var o = f.create({keySize: e + n}).compute(t, r), a = i.create(o.words.slice(e), 4 * n);return o.sigBytes = 4 * e,g.create({key: o,iv: a,salt: r})}}, S = r.PasswordBasedCipher = _.extend({cfg: _.cfg.extend({kdf: x}),encrypt: function(t, e, n, r) {r = this.cfg.extend(r);var o = r.kdf.execute(n, t.keySize, t.ivSize);r.iv = o.iv;var i = _.encrypt.call(this, t, e, o.key, r);return i.mixIn(o),i},decrypt: function(t, e, n, r) {r = this.cfg.extend(r),e = this._parse(e, r.format);var o = r.kdf.execute(n, t.keySize, t.ivSize, e.salt);r.iv = o.iv;var i = _.decrypt.call(this, t, e, o.key, r);return i}})}()}))},"2b79": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("df2f"), n("5980"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.Base, o = n.WordArray, i = e.algo, a = i.MD5, u = i.EvpKDF = r.extend({cfg: r.extend({keySize: 4,hasher: a,iterations: 1}),init: function(t) {this.cfg = this.cfg.extend(t)},compute: function(t, e) {var n = this.cfg, r = n.hasher.create(), i = o.create(), a = i.words, u = n.keySize, c = n.iterations;while (a.length < u) {s && r.update(s);var s = r.update(t).finalize(e);r.reset();for (var f = 1; f < c; f++)s = r.finalize(s),r.reset();i.concat(s)}return i.sigBytes = 4 * u,i}});e.EvpKDF = function(t, e, n) {return u.create(n).compute(t, e)}}(),t.EvpKDF}))},"7bbc": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("df2f"), n("5980"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.Base, o = n.WordArray, i = e.algo, a = i.SHA1, u = i.HMAC, c = i.PBKDF2 = r.extend({cfg: r.extend({keySize: 4,hasher: a,iterations: 1}),init: function(t) {this.cfg = this.cfg.extend(t)},compute: function(t, e) {var n = this.cfg, r = u.create(n.hasher, t), i = o.create(), a = o.create([1]), c = i.words, s = a.words, f = n.keySize, l = n.iterations;while (c.length < f) {var p = r.update(e).finalize(a);r.reset();for (var h = p.words, d = h.length, v = p, y = 1; y < l; y++) {v = r.finalize(v),r.reset();for (var g = v.words, b = 0; b < d; b++)h[b] ^= g[b]}i.concat(p),s[0]++}return i.sigBytes = 4 * f,i}});e.PBKDF2 = function(t, e, n) {return c.create(n).compute(t, e)}}(),t.PBKDF2}))},5980: function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {(function() {var e = t, n = e.lib, r = n.Base, o = e.enc, i = o.Utf8, a = e.algo;a.HMAC = r.extend({init: function(t, e) {t = this._hasher = new t.init,"string" == typeof e && (e = i.parse(e));var n = t.blockSize, r = 4 * n;e.sigBytes > r && (e = t.finalize(e)),e.clamp();for (var o = this._oKey = e.clone(), a = this._iKey = e.clone(), u = o.words, c = a.words, s = 0; s < n; s++)u[s] ^= 1549556828,c[s] ^= 909522486;o.sigBytes = a.sigBytes = r,this.reset()},reset: function() {var t = this._hasher;t.reset(),t.update(this._iKey)},update: function(t) {return this._hasher.update(t),this},finalize: function(t) {var e = this._hasher, n = e.finalize(t);e.reset();var r = e.finalize(this._oKey.clone().concat(n));return r}})})()}))},"10b7": function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {return function(e) {var n = t, r = n.lib, o = r.WordArray, i = r.Hasher, a = n.algo, u = o.create([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]), c = o.create([5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]), s = o.create([11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6]), f = o.create([8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11]), l = o.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), p = o.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), h = a.RIPEMD160 = i.extend({_doReset: function() {this._hash = o.create([1732584193, 4023233417, 2562383102, 271733878, 3285377520])},_doProcessBlock: function(t, e) {for (var n = 0; n < 16; n++) {var r = e + n, o = t[r];t[r] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8)}var i, a, h, _, w, x, S, O, A, k, C, E = this._hash.words, j = l.words, P = p.words, R = u.words, T = c.words, $ = s.words, M = f.words;x = i = E[0],S = a = E[1],O = h = E[2],A = _ = E[3],k = w = E[4];for (n = 0; n < 80; n += 1)C = i + t[e + R[n]] | 0,C += n < 16 ? d(a, h, _) + j[0] : n < 32 ? v(a, h, _) + j[1] : n < 48 ? y(a, h, _) + j[2] : n < 64 ? g(a, h, _) + j[3] : b(a, h, _) + j[4],C |= 0,C = m(C, $[n]),C = C + w | 0,i = w,w = _,_ = m(h, 10),h = a,a = C,C = x + t[e + T[n]] | 0,C += n < 16 ? b(S, O, A) + P[0] : n < 32 ? g(S, O, A) + P[1] : n < 48 ? y(S, O, A) + P[2] : n < 64 ? v(S, O, A) + P[3] : d(S, O, A) + P[4],C |= 0,C = m(C, M[n]),C = C + k | 0,x = k,k = A,A = m(O, 10),O = S,S = C;C = E[1] + h + A | 0,E[1] = E[2] + _ + k | 0,E[2] = E[3] + w + x | 0,E[3] = E[4] + i + S | 0,E[4] = E[0] + a + O | 0,E[0] = C},_doFinalize: function() {var t = this._data, e = t.words, n = 8 * this._nDataBytes, r = 8 * t.sigBytes;e[r >>> 5] |= 128 << 24 - r % 32,e[14 + (r + 64 >>> 9 << 4)] = 16711935 & (n << 8 | n >>> 24) | 4278255360 & (n << 24 | n >>> 8),t.sigBytes = 4 * (e.length + 1),this._process();for (var o = this._hash, i = o.words, a = 0; a < 5; a++) {var u = i[a];i[a] = 16711935 & (u << 8 | u >>> 24) | 4278255360 & (u << 24 | u >>> 8)}return o},clone: function() {var t = i.clone.call(this);return t._hash = this._hash.clone(),t}});function d(t, e, n) {return t ^ e ^ n}function v(t, e, n) {return t & e | ~t & n}function y(t, e, n) {return (t | ~e) ^ n}function g(t, e, n) {return t & n | e & ~n}function b(t, e, n) {return t ^ (e | ~n)}function m(t, e) {return t << e | t >>> 32 - e}n.RIPEMD160 = i._createHelper(h),n.HmacRIPEMD160 = i._createHmacHelper(h)}(Math),t.RIPEMD160}))},e61b: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("3252"))})(0, (function(t) {return function(e) {var n = t, r = n.lib, o = r.WordArray, i = r.Hasher, a = n.x64, u = a.Word, c = n.algo, s = [], f = [], l = [];(function() {for (var t = 1, e = 0, n = 0; n < 24; n++) {s[t + 5 * e] = (n + 1) * (n + 2) / 2 % 64;var r = e % 5, o = (2 * t + 3 * e) % 5;t = r,e = o}for (t = 0; t < 5; t++)for (e = 0; e < 5; e++)f[t + 5 * e] = e + (2 * t + 3 * e) % 5 * 5;for (var i = 1, a = 0; a < 24; a++) {for (var c = 0, p = 0, h = 0; h < 7; h++) {if (1 & i) {var d = (1 << h) - 1;d < 32 ? p ^= 1 << d : c ^= 1 << d - 32}128 & i ? i = i << 1 ^ 113 : i <<= 1}l[a] = u.create(c, p)}})();var p = [];(function() {for (var t = 0; t < 25; t++)p[t] = u.create()})();var h = c.SHA3 = i.extend({cfg: i.cfg.extend({outputLength: 512}),_doReset: function() {for (var t = this._state = [], e = 0; e < 25; e++)t[e] = new u.init;this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32},_doProcessBlock: function(t, e) {for (var n = this._state, r = this.blockSize / 2, o = 0; o < r; o++) {var i = t[e + 2 * o], a = t[e + 2 * o + 1];i = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8),a = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8);var u = n[o];u.high ^= a,u.low ^= i}for (var c = 0; c < 24; c++) {for (var h = 0; h < 5; h++) {for (var d = 0, v = 0, y = 0; y < 5; y++) {u = n[h + 5 * y];d ^= u.high,v ^= u.low}var g = p[h];g.high = d,g.low = v}for (h = 0; h < 5; h++) {var b = p[(h + 4) % 5], m = p[(h + 1) % 5], _ = m.high, w = m.low;for (d = b.high ^ (_ << 1 | w >>> 31),v = b.low ^ (w << 1 | _ >>> 31),y = 0; y < 5; y++) {u = n[h + 5 * y];u.high ^= d,u.low ^= v}}for (var x = 1; x < 25; x++) {u = n[x];var S = u.high, O = u.low, A = s[x];if (A < 32)d = S << A | O >>> 32 - A,v = O << A | S >>> 32 - A;elsed = O << A - 32 | S >>> 64 - A,v = S << A - 32 | O >>> 64 - A;var k = p[f[x]];k.high = d,k.low = v}var C = p[0], E = n[0];C.high = E.high,C.low = E.low;for (h = 0; h < 5; h++)for (y = 0; y < 5; y++) {x = h + 5 * y,u = n[x];var j = p[x], P = p[(h + 1) % 5 + 5 * y], R = p[(h + 2) % 5 + 5 * y];u.high = j.high ^ ~P.high & R.high,u.low = j.low ^ ~P.low & R.low}u = n[0];var T = l[c];u.high ^= T.high,u.low ^= T.low}},_doFinalize: function() {var t = this._data, n = t.words, r = (this._nDataBytes,8 * t.sigBytes), i = 32 * this.blockSize;n[r >>> 5] |= 1 << 24 - r % 32,n[(e.ceil((r + 1) / i) * i >>> 5) - 1] |= 128,t.sigBytes = 4 * n.length,this._process();for (var a = this._state, u = this.cfg.outputLength / 8, c = u / 8, s = [], f = 0; f < c; f++) {var l = a[f], p = l.high, h = l.low;p = 16711935 & (p << 8 | p >>> 24) | 4278255360 & (p << 24 | p >>> 8),h = 16711935 & (h << 8 | h >>> 24) | 4278255360 & (h << 24 | h >>> 8),s.push(h),s.push(p)}return new o.init(s,u)},clone: function() {for (var t = i.clone.call(this), e = t._state = this._state.slice(0), n = 0; n < 25; n++)e[n] = e[n].clone();return t}});n.SHA3 = i._createHelper(h),n.HmacSHA3 = i._createHmacHelper(h)}(Math),t.SHA3}))},b86b: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("3252"), n("d6e6"))})(0, (function(t) {return function() {var e = t, n = e.x64, r = n.Word, o = n.WordArray, i = e.algo, a = i.SHA512, u = i.SHA384 = a.extend({_doReset: function() {this._hash = new o.init([new r.init(3418070365,3238371032), new r.init(1654270250,914150663), new r.init(2438529370,812702999), new r.init(355462360,4144912697), new r.init(1731405415,4290775857), new r.init(2394180231,1750603025), new r.init(3675008525,1694076839), new r.init(1203062813,3204075428)])},_doFinalize: function() {var t = a._doFinalize.call(this);return t.sigBytes -= 16,t}});e.SHA384 = a._createHelper(u),e.HmacSHA384 = a._createHmacHelper(u)}(),t.SHA384}))},d6e6: function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("3252"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.Hasher, o = e.x64, i = o.Word, a = o.WordArray, u = e.algo;function c() {return i.create.apply(i, arguments)}var s = [c(1116352408, 3609767458), c(1899447441, 602891725), c(3049323471, 3964484399), c(3921009573, 2173295548), c(961987163, 4081628472), c(1508970993, 3053834265), c(2453635748, 2937671579), c(2870763221, 3664609560), c(3624381080, 2734883394), c(310598401, 1164996542), c(607225278, 1323610764), c(1426881987, 3590304994), c(1925078388, 4068182383), c(2162078206, 991336113), c(2614888103, 633803317), c(3248222580, 3479774868), c(3835390401, 2666613458), c(4022224774, 944711139), c(264347078, 2341262773), c(604807628, 2007800933), c(770255983, 1495990901), c(1249150122, 1856431235), c(1555081692, 3175218132), c(1996064986, 2198950837), c(2554220882, 3999719339), c(2821834349, 766784016), c(2952996808, 2566594879), c(3210313671, 3203337956), c(3336571891, 1034457026), c(3584528711, 2466948901), c(113926993, 3758326383), c(338241895, 168717936), c(666307205, 1188179964), c(773529912, 1546045734), c(1294757372, 1522805485), c(1396182291, 2643833823), c(1695183700, 2343527390), c(1986661051, 1014477480), c(2177026350, 1206759142), c(2456956037, 344077627), c(2730485921, 1290863460), c(2820302411, 3158454273), c(3259730800, 3505952657), c(3345764771, 106217008), c(3516065817, 3606008344), c(3600352804, 1432725776), c(4094571909, 1467031594), c(275423344, 851169720), c(430227734, 3100823752), c(506948616, 1363258195), c(659060556, 3750685593), c(883997877, 3785050280), c(958139571, 3318307427), c(1322822218, 3812723403), c(1537002063, 2003034995), c(1747873779, 3602036899), c(1955562222, 1575990012), c(2024104815, 1125592928), c(2227730452, 2716904306), c(2361852424, 442776044), c(2428436474, 593698344), c(2756734187, 3733110249), c(3204031479, 2999351573), c(3329325298, 3815920427), c(3391569614, 3928383900), c(3515267271, 566280711), c(3940187606, 3454069534), c(4118630271, 4000239992), c(116418474, 1914138554), c(174292421, 2731055270), c(289380356, 3203993006), c(460393269, 320620315), c(685471733, 587496836), c(852142971, 1086792851), c(1017036298, 365543100), c(1126000580, 2618297676), c(1288033470, 3409855158), c(1501505948, 4234509866), c(1607167915, 987167468), c(1816402316, 1246189591)], f = [];(function() {for (var t = 0; t < 80; t++)f[t] = c()})();var l = u.SHA512 = r.extend({_doReset: function() {this._hash = new a.init([new i.init(1779033703,4089235720), new i.init(3144134277,2227873595), new i.init(1013904242,4271175723), new i.init(2773480762,1595750129), new i.init(1359893119,2917565137), new i.init(2600822924,725511199), new i.init(528734635,4215389547), new i.init(1541459225,327033209)])},_doProcessBlock: function(t, e) {for (var n = this._hash.words, r = n[0], o = n[1], i = n[2], a = n[3], u = n[4], c = n[5], l = n[6], p = n[7], h = r.high, d = r.low, v = o.high, y = o.low, g = i.high, b = i.low, m = a.high, _ = a.low, w = u.high, x = u.low, S = c.high, O = c.low, A = l.high, k = l.low, C = p.high, E = p.low, j = h, P = d, R = v, T = y, $ = g, M = b, B = m, I = _, L = w, F = x, N = S, D = O, z = A, U = k, H = C, W = E, V = 0; V < 80; V++) {var G = f[V];if (V < 16)var q = G.high = 0 | t[e + 2 * V], K = G.low = 0 | t[e + 2 * V + 1];else {var X = f[V - 15], J = X.high, Z = X.low, Y = (J >>> 1 | Z << 31) ^ (J >>> 8 | Z << 24) ^ J >>> 7, Q = (Z >>> 1 | J << 31) ^ (Z >>> 8 | J << 24) ^ (Z >>> 7 | J << 25), tt = f[V - 2], et = tt.high, nt = tt.low, rt = (et >>> 19 | nt << 13) ^ (et << 3 | nt >>> 29) ^ et >>> 6, ot = (nt >>> 19 | et << 13) ^ (nt << 3 | et >>> 29) ^ (nt >>> 6 | et << 26), it = f[V - 7], at = it.high, ut = it.low, ct = f[V - 16], st = ct.high, ft = ct.low;K = Q + ut,q = Y + at + (K >>> 0 < Q >>> 0 ? 1 : 0),K = K + ot,q = q + rt + (K >>> 0 < ot >>> 0 ? 1 : 0),K = K + ft,q = q + st + (K >>> 0 < ft >>> 0 ? 1 : 0);G.high = q,G.low = K}var lt = L & N ^ ~L & z, pt = F & D ^ ~F & U, ht = j & R ^ j & $ ^ R & $, dt = P & T ^ P & M ^ T & M, vt = (j >>> 28 | P << 4) ^ (j << 30 | P >>> 2) ^ (j << 25 | P >>> 7), yt = (P >>> 28 | j << 4) ^ (P << 30 | j >>> 2) ^ (P << 25 | j >>> 7), gt = (L >>> 14 | F << 18) ^ (L >>> 18 | F << 14) ^ (L << 23 | F >>> 9), bt = (F >>> 14 | L << 18) ^ (F >>> 18 | L << 14) ^ (F << 23 | L >>> 9), mt = s[V], _t = mt.high, wt = mt.low, xt = W + bt, St = H + gt + (xt >>> 0 < W >>> 0 ? 1 : 0), Ot = (xt = xt + pt,St = St + lt + (xt >>> 0 < pt >>> 0 ? 1 : 0),xt = xt + wt,St = St + _t + (xt >>> 0 < wt >>> 0 ? 1 : 0),xt = xt + K,St = St + q + (xt >>> 0 < K >>> 0 ? 1 : 0),yt + dt), At = vt + ht + (Ot >>> 0 < yt >>> 0 ? 1 : 0);H = z,W = U,z = N,U = D,N = L,D = F,F = I + xt | 0,L = B + St + (F >>> 0 < I >>> 0 ? 1 : 0) | 0,B = $,I = M,$ = R,M = T,R = j,T = P,P = xt + Ot | 0,j = St + At + (P >>> 0 < xt >>> 0 ? 1 : 0) | 0}d = r.low = d + P,r.high = h + j + (d >>> 0 < P >>> 0 ? 1 : 0),y = o.low = y + T,o.high = v + R + (y >>> 0 < T >>> 0 ? 1 : 0),b = i.low = b + M,i.high = g + $ + (b >>> 0 < M >>> 0 ? 1 : 0),_ = a.low = _ + I,a.high = m + B + (_ >>> 0 < I >>> 0 ? 1 : 0),x = u.low = x + F,u.high = w + L + (x >>> 0 < F >>> 0 ? 1 : 0),O = c.low = O + D,c.high = S + N + (O >>> 0 < D >>> 0 ? 1 : 0),k = l.low = k + U,l.high = A + z + (k >>> 0 < U >>> 0 ? 1 : 0),E = p.low = E + W,p.high = C + H + (E >>> 0 < W >>> 0 ? 1 : 0)},_doFinalize: function() {var t = this._data, e = t.words, n = 8 * this._nDataBytes, r = 8 * t.sigBytes;e[r >>> 5] |= 128 << 24 - r % 32,e[30 + (r + 128 >>> 10 << 5)] = Math.floor(n / 4294967296),e[31 + (r + 128 >>> 10 << 5)] = n,t.sigBytes = 4 * e.length,this._process();var o = this._hash.toX32();return o},clone: function() {var t = r.clone.call(this);return t._hash = this._hash.clone(),t},blockSize: 32});e.SHA512 = r._createHelper(l),e.HmacSHA512 = r._createHmacHelper(l)}(),t.SHA512}))},"191b": function(t, e, n) {(function(e, r, o) {t.exports = r(n("21bf"), n("94f8"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.WordArray, o = e.algo, i = o.SHA256, a = o.SHA224 = i.extend({_doReset: function() {this._hash = new r.init([3238371032, 914150663, 812702999, 4144912697, 4290775857, 1750603025, 1694076839, 3204075428])},_doFinalize: function() {var t = i._doFinalize.call(this);return t.sigBytes -= 4,t}});e.SHA224 = i._createHelper(a),e.HmacSHA224 = i._createHmacHelper(a)}(),t.SHA224}))},"94f8": function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {return function(e) {var n = t, r = n.lib, o = r.WordArray, i = r.Hasher, a = n.algo, u = [], c = [];(function() {function t(t) {for (var n = e.sqrt(t), r = 2; r <= n; r++)if (!(t % r))return !1;return !0}function n(t) {return 4294967296 * (t - (0 | t)) | 0}var r = 2, o = 0;while (o < 64)t(r) && (o < 8 && (u[o] = n(e.pow(r, .5))),c[o] = n(e.pow(r, 1 / 3)),o++),r++})();var s = [], f = a.SHA256 = i.extend({_doReset: function() {this._hash = new o.init(u.slice(0))},_doProcessBlock: function(t, e) {for (var n = this._hash.words, r = n[0], o = n[1], i = n[2], a = n[3], u = n[4], f = n[5], l = n[6], p = n[7], h = 0; h < 64; h++) {if (h < 16)s[h] = 0 | t[e + h];else {var d = s[h - 15], v = (d << 25 | d >>> 7) ^ (d << 14 | d >>> 18) ^ d >>> 3, y = s[h - 2], g = (y << 15 | y >>> 17) ^ (y << 13 | y >>> 19) ^ y >>> 10;s[h] = v + s[h - 7] + g + s[h - 16]}var b = u & f ^ ~u & l, m = r & o ^ r & i ^ o & i, _ = (r << 30 | r >>> 2) ^ (r << 19 | r >>> 13) ^ (r << 10 | r >>> 22), w = (u << 26 | u >>> 6) ^ (u << 21 | u >>> 11) ^ (u << 7 | u >>> 25), x = p + w + b + c[h] + s[h], S = _ + m;p = l,l = f,f = u,u = a + x | 0,a = i,i = o,o = r,r = x + S | 0}n[0] = n[0] + r | 0,n[1] = n[1] + o | 0,n[2] = n[2] + i | 0,n[3] = n[3] + a | 0,n[4] = n[4] + u | 0,n[5] = n[5] + f | 0,n[6] = n[6] + l | 0,n[7] = n[7] + p | 0},_doFinalize: function() {var t = this._data, n = t.words, r = 8 * this._nDataBytes, o = 8 * t.sigBytes;return n[o >>> 5] |= 128 << 24 - o % 32,n[14 + (o + 64 >>> 9 << 4)] = e.floor(r / 4294967296),n[15 + (o + 64 >>> 9 << 4)] = r,t.sigBytes = 4 * n.length,this._process(),this._hash},clone: function() {var t = i.clone.call(this);return t._hash = this._hash.clone(),t}});n.SHA256 = i._createHelper(f),n.HmacSHA256 = i._createHmacHelper(f)}(Math),t.SHA256}))},df2f: function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.WordArray, o = n.Hasher, i = e.algo, a = [], u = i.SHA1 = o.extend({_doReset: function() {this._hash = new r.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])},_doProcessBlock: function(t, e) {for (var n = this._hash.words, r = n[0], o = n[1], i = n[2], u = n[3], c = n[4], s = 0; s < 80; s++) {if (s < 16)a[s] = 0 | t[e + s];else {var f = a[s - 3] ^ a[s - 8] ^ a[s - 14] ^ a[s - 16];a[s] = f << 1 | f >>> 31}var l = (r << 5 | r >>> 27) + c + a[s];l += s < 20 ? 1518500249 + (o & i | ~o & u) : s < 40 ? 1859775393 + (o ^ i ^ u) : s < 60 ? (o & i | o & u | i & u) - 1894007588 : (o ^ i ^ u) - 899497514,c = u,u = i,i = o << 30 | o >>> 2,o = r,r = l}n[0] = n[0] + r | 0,n[1] = n[1] + o | 0,n[2] = n[2] + i | 0,n[3] = n[3] + u | 0,n[4] = n[4] + c | 0},_doFinalize: function() {var t = this._data, e = t.words, n = 8 * this._nDataBytes, r = 8 * t.sigBytes;return e[r >>> 5] |= 128 << 24 - r % 32,e[14 + (r + 64 >>> 9 << 4)] = Math.floor(n / 4294967296),e[15 + (r + 64 >>> 9 << 4)] = n,t.sigBytes = 4 * e.length,this._process(),this._hash},clone: function() {var t = o.clone.call(this);return t._hash = this._hash.clone(),t}});e.SHA1 = o._createHelper(u),e.HmacSHA1 = o._createHmacHelper(u)}(),t.SHA1}))},"72fe": function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {return function(e) {var n = t, r = n.lib, o = r.WordArray, i = r.Hasher, a = n.algo, u = [];(function() {for (var t = 0; t < 64; t++)u[t] = 4294967296 * e.abs(e.sin(t + 1)) | 0})();var c = a.MD5 = i.extend({_doReset: function() {this._hash = new o.init([1732584193, 4023233417, 2562383102, 271733878])},_doProcessBlock: function(t, e) {for (var n = 0; n < 16; n++) {var r = e + n, o = t[r];t[r] = 16711935 & (o << 8 | o >>> 24) | 4278255360 & (o << 24 | o >>> 8)}var i = this._hash.words, a = t[e + 0], c = t[e + 1], h = t[e + 2], d = t[e + 3], v = t[e + 4], y = t[e + 5], g = t[e + 6], b = t[e + 7], m = t[e + 8], _ = t[e + 9], w = t[e + 10], x = t[e + 11], S = t[e + 12], O = t[e + 13], A = t[e + 14], k = t[e + 15], C = i[0], E = i[1], j = i[2], P = i[3];C = s(C, E, j, P, a, 7, u[0]),P = s(P, C, E, j, c, 12, u[1]),j = s(j, P, C, E, h, 17, u[2]),E = s(E, j, P, C, d, 22, u[3]),C = s(C, E, j, P, v, 7, u[4]),P = s(P, C, E, j, y, 12, u[5]),j = s(j, P, C, E, g, 17, u[6]),E = s(E, j, P, C, b, 22, u[7]),C = s(C, E, j, P, m, 7, u[8]),P = s(P, C, E, j, _, 12, u[9]),j = s(j, P, C, E, w, 17, u[10]),E = s(E, j, P, C, x, 22, u[11]),C = s(C, E, j, P, S, 7, u[12]),P = s(P, C, E, j, O, 12, u[13]),j = s(j, P, C, E, A, 17, u[14]),E = s(E, j, P, C, k, 22, u[15]),C = f(C, E, j, P, c, 5, u[16]),P = f(P, C, E, j, g, 9, u[17]),j = f(j, P, C, E, x, 14, u[18]),E = f(E, j, P, C, a, 20, u[19]),C = f(C, E, j, P, y, 5, u[20]),P = f(P, C, E, j, w, 9, u[21]),j = f(j, P, C, E, k, 14, u[22]),E = f(E, j, P, C, v, 20, u[23]),C = f(C, E, j, P, _, 5, u[24]),P = f(P, C, E, j, A, 9, u[25]),j = f(j, P, C, E, d, 14, u[26]),E = f(E, j, P, C, m, 20, u[27]),C = f(C, E, j, P, O, 5, u[28]),P = f(P, C, E, j, h, 9, u[29]),j = f(j, P, C, E, b, 14, u[30]),E = f(E, j, P, C, S, 20, u[31]),C = l(C, E, j, P, y, 4, u[32]),P = l(P, C, E, j, m, 11, u[33]),j = l(j, P, C, E, x, 16, u[34]),E = l(E, j, P, C, A, 23, u[35]),C = l(C, E, j, P, c, 4, u[36]),P = l(P, C, E, j, v, 11, u[37]),j = l(j, P, C, E, b, 16, u[38]),E = l(E, j, P, C, w, 23, u[39]),C = l(C, E, j, P, O, 4, u[40]),P = l(P, C, E, j, a, 11, u[41]),j = l(j, P, C, E, d, 16, u[42]),E = l(E, j, P, C, g, 23, u[43]),C = l(C, E, j, P, _, 4, u[44]),P = l(P, C, E, j, S, 11, u[45]),j = l(j, P, C, E, k, 16, u[46]),E = l(E, j, P, C, h, 23, u[47]),C = p(C, E, j, P, a, 6, u[48]),P = p(P, C, E, j, b, 10, u[49]),j = p(j, P, C, E, A, 15, u[50]),E = p(E, j, P, C, y, 21, u[51]),C = p(C, E, j, P, S, 6, u[52]),P = p(P, C, E, j, d, 10, u[53]),j = p(j, P, C, E, w, 15, u[54]),E = p(E, j, P, C, c, 21, u[55]),C = p(C, E, j, P, m, 6, u[56]),P = p(P, C, E, j, k, 10, u[57]),j = p(j, P, C, E, g, 15, u[58]),E = p(E, j, P, C, O, 21, u[59]),C = p(C, E, j, P, v, 6, u[60]),P = p(P, C, E, j, x, 10, u[61]),j = p(j, P, C, E, h, 15, u[62]),E = p(E, j, P, C, _, 21, u[63]),i[0] = i[0] + C | 0,i[1] = i[1] + E | 0,i[2] = i[2] + j | 0,i[3] = i[3] + P | 0},_doFinalize: function() {var t = this._data, n = t.words, r = 8 * this._nDataBytes, o = 8 * t.sigBytes;n[o >>> 5] |= 128 << 24 - o % 32;var i = e.floor(r / 4294967296), a = r;n[15 + (o + 64 >>> 9 << 4)] = 16711935 & (i << 8 | i >>> 24) | 4278255360 & (i << 24 | i >>> 8),n[14 + (o + 64 >>> 9 << 4)] = 16711935 & (a << 8 | a >>> 24) | 4278255360 & (a << 24 | a >>> 8),t.sigBytes = 4 * (n.length + 1),this._process();for (var u = this._hash, c = u.words, s = 0; s < 4; s++) {var f = c[s];c[s] = 16711935 & (f << 8 | f >>> 24) | 4278255360 & (f << 24 | f >>> 8)}return u},clone: function() {var t = i.clone.call(this);return t._hash = this._hash.clone(),t}});function s(t, e, n, r, o, i, a) {var u = t + (e & n | ~e & r) + o + a;return (u << i | u >>> 32 - i) + e}function f(t, e, n, r, o, i, a) {var u = t + (e & r | n & ~r) + o + a;return (u << i | u >>> 32 - i) + e}function l(t, e, n, r, o, i, a) {var u = t + (e ^ n ^ r) + o + a;return (u << i | u >>> 32 - i) + e}function p(t, e, n, r, o, i, a) {var u = t + (n ^ (e | ~r)) + o + a;return (u << i | u >>> 32 - i) + e}n.MD5 = i._createHelper(c),n.HmacMD5 = i._createHmacHelper(c)}(Math),t.MD5}))},1132: function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.WordArray, o = e.enc;o.Base64 = {stringify: function(t) {var e = t.words, n = t.sigBytes, r = this._map;t.clamp();for (var o = [], i = 0; i < n; i += 3)for (var a = e[i >>> 2] >>> 24 - i % 4 * 8 & 255, u = e[i + 1 >>> 2] >>> 24 - (i + 1) % 4 * 8 & 255, c = e[i + 2 >>> 2] >>> 24 - (i + 2) % 4 * 8 & 255, s = a << 16 | u << 8 | c, f = 0; f < 4 && i + .75 * f < n; f++)o.push(r.charAt(s >>> 6 * (3 - f) & 63));var l = r.charAt(64);if (l)while (o.length % 4)o.push(l);return o.join("")},parse: function(t) {var e = t.length, n = this._map, r = this._reverseMap;if (!r) {r = this._reverseMap = [];for (var o = 0; o < n.length; o++)r[n.charCodeAt(o)] = o}var a = n.charAt(64);if (a) {var u = t.indexOf(a);-1 !== u && (e = u)}return i(t, e, r)},_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="};function i(t, e, n) {for (var o = [], i = 0, a = 0; a < e; a++)if (a % 4) {var u = n[t.charCodeAt(a - 1)] << a % 4 * 2, c = n[t.charCodeAt(a)] >>> 6 - a % 4 * 2;o[i >>> 2] |= (u | c) << 24 - i % 4 * 8,i++}return r.create(o, i)}}(),t.enc.Base64}))},a8ce: function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {return function() {var e = t, n = e.lib, r = n.WordArray, o = e.enc;o.Utf16 = o.Utf16BE = {stringify: function(t) {for (var e = t.words, n = t.sigBytes, r = [], o = 0; o < n; o += 2) {var i = e[o >>> 2] >>> 16 - o % 4 * 8 & 65535;r.push(String.fromCharCode(i))}return r.join("")},parse: function(t) {for (var e = t.length, n = [], o = 0; o < e; o++)n[o >>> 1] |= t.charCodeAt(o) << 16 - o % 2 * 16;return r.create(n, 2 * e)}};function i(t) {return t << 8 & 4278255360 | t >>> 8 & 16711935}o.Utf16LE = {stringify: function(t) {for (var e = t.words, n = t.sigBytes, r = [], o = 0; o < n; o += 2) {var a = i(e[o >>> 2] >>> 16 - o % 4 * 8 & 65535);r.push(String.fromCharCode(a))}return r.join("")},parse: function(t) {for (var e = t.length, n = [], o = 0; o < e; o++)n[o >>> 1] |= i(t.charCodeAt(o) << 16 - o % 2 * 16);return r.create(n, 2 * e)}}}(),t.enc.Utf16}))},"17e1": function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {return function() {if ("function" == typeof ArrayBuffer) {var e = t, n = e.lib, r = n.WordArray, o = r.init, i = r.init = function(t) {if (t instanceof ArrayBuffer && (t = new Uint8Array(t)),(t instanceof Int8Array || "undefined" !== typeof Uint8ClampedArray && t instanceof Uint8ClampedArray || t instanceof Int16Array || t instanceof Uint16Array || t instanceof Int32Array || t instanceof Uint32Array || t instanceof Float32Array || t instanceof Float64Array) && (t = new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t instanceof Uint8Array) {for (var e = t.byteLength, n = [], r = 0; r < e; r++)n[r >>> 2] |= t[r] << 24 - r % 4 * 8;o.call(this, n, e)} elseo.apply(this, arguments)};i.prototype = r}}(),t.lib.WordArray}))},3252: function(t, e, n) {(function(e, r) {t.exports = r(n("21bf"))})(0, (function(t) {return function(e) {var n = t, r = n.lib, o = r.Base, i = r.WordArray, a = n.x64 = {};a.Word = o.extend({init: function(t, e) {this.high = t,this.low = e}}),a.WordArray = o.extend({init: function(t, n) {t = this.words = t || [],this.sigBytes = n != e ? n : 8 * t.length},toX32: function() {for (var t = this.words, e = t.length, n = [], r = 0; r < e; r++) {var o = t[r];n.push(o.high),n.push(o.low)}return i.create(n, this.sigBytes)},clone: function() {for (var t = o.clone.call(this), e = t.words = this.words.slice(0), n = e.length, r = 0; r < n; r++)e[r] = e[r].clone();return t}})}(),t}))},"21bf": function(t, e, n) {(function(e, n) {t.exports = n()})(0, (function() {var t = t || function(t, e) {var n = Object.create || function() {function t() {}return function(e) {var n;return t.prototype = e,n = new t,t.prototype = null,n}}(), r = {}, o = r.lib = {}, i = o.Base = function() {return {extend: function(t) {var e = n(this);return t && e.mixIn(t),e.hasOwnProperty("init") && this.init !== e.init || (e.init = function() {e.$super.init.apply(this, arguments)}),e.init.prototype = e,e.$super = this,e},create: function() {var t = this.extend();return t.init.apply(t, arguments),t},init: function() {},mixIn: function(t) {for (var e in t)t.hasOwnProperty(e) && (this[e] = t[e]);t.hasOwnProperty("toString") && (this.toString = t.toString)},clone: function() {return this.init.prototype.extend(this)}}}(), a = o.WordArray = i.extend({init: function(t, n) {t = this.words = t || [],this.sigBytes = n != e ? n : 4 * t.length},toString: function(t) {return (t || c).stringify(this)},concat: function(t) {var e = this.words, n = t.words, r = this.sigBytes, o = t.sigBytes;if (this.clamp(),r % 4)for (var i = 0; i < o; i++) {var a = n[i >>> 2] >>> 24 - i % 4 * 8 & 255;e[r + i >>> 2] |= a << 24 - (r + i) % 4 * 8}elsefor (i = 0; i < o; i += 4)e[r + i >>> 2] = n[i >>> 2];return this.sigBytes += o,this},clamp: function() {var e = this.words, n = this.sigBytes;e[n >>> 2] &= 4294967295 << 32 - n % 4 * 8,e.length = t.ceil(n / 4)},clone: function() {var t = i.clone.call(this);return t.words = this.words.slice(0),t},random: function(e) {for (var n, r = [], o = function(e) {e = e;var n = 987654321, r = 4294967295;return function() {n = 36969 * (65535 & n) + (n >> 16) & r,e = 18e3 * (65535 & e) + (e >> 16) & r;var o = (n << 16) + e & r;return o /= 4294967296,o += .5,o * (t.random() > .5 ? 1 : -1)}}, i = 0; i < e; i += 4) {var u = o(4294967296 * (n || t.random()));n = 987654071 * u(),r.push(4294967296 * u() | 0)}return new a.init(r,e)}}), u = r.enc = {}, c = u.Hex = {stringify: function(t) {for (var e = t.words, n = t.sigBytes, r = [], o = 0; o < n; o++) {var i = e[o >>> 2] >>> 24 - o % 4 * 8 & 255;r.push((i >>> 4).toString(16)),r.push((15 & i).toString(16))}return r.join("")},parse: function(t) {for (var e = t.length, n = [], r = 0; r < e; r += 2)n[r >>> 3] |= parseInt(t.substr(r, 2), 16) << 24 - r % 8 * 4;return new a.init(n,e / 2)}}, s = u.Latin1 = {stringify: function(t) {for (var e = t.words, n = t.sigBytes, r = [], o = 0; o < n; o++) {var i = e[o >>> 2] >>> 24 - o % 4 * 8 & 255;r.push(String.fromCharCode(i))}return r.join("")},parse: function(t) {for (var e = t.length, n = [], r = 0; r < e; r++)n[r >>> 2] |= (255 & t.charCodeAt(r)) << 24 - r % 4 * 8;return new a.init(n,e)}}, f = u.Utf8 = {stringify: function(t) {try {return decodeURIComponent(escape(s.stringify(t)))} catch (e) {throw new Error("Malformed UTF-8 data")}},parse: function(t) {return s.parse(unescape(encodeURIComponent(t)))}}, l = o.BufferedBlockAlgorithm = i.extend({reset: function() {this._data = new a.init,this._nDataBytes = 0},_append: function(t) {"string" == typeof t && (t = f.parse(t)),this._data.concat(t),this._nDataBytes += t.sigBytes},_process: function(e) {var n = this._data, r = n.words, o = n.sigBytes, i = this.blockSize, u = 4 * i, c = o / u;c = e ? t.ceil(c) : t.max((0 | c) - this._minBufferSize, 0);var s = c * i, f = t.min(4 * s, o);if (s) {for (var l = 0; l < s; l += i)this._doProcessBlock(r, l);var p = r.splice(0, s);n.sigBytes -= f}return new a.init(p,f)},clone: function() {var t = i.clone.call(this);return t._data = this._data.clone(),t},_minBufferSize: 0}), p = (o.Hasher = l.extend({cfg: i.extend(),init: function(t) {this.cfg = this.cfg.extend(t),this.reset()},reset: function() {l.reset.call(this),this._doReset()},update: function(t) {return this._append(t),this._process(),this},finalize: function(t) {t && this._append(t);var e = this._doFinalize();return e},blockSize: 16,_createHelper: function(t) {return function(e, n) {return new t.init(n).finalize(e)}},_createHmacHelper: function(t) {return function(e, n) {return new p.HMAC.init(t,n).finalize(e)}}}),r.algo = {});return r}(Math);return t}))},
}
);K = function() {var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "";return e.replace(/\s+/g, "")};F = function(e) {var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};if (e && "string" === typeof e) {var t = n.text || "0", a = n.length || 24;if (e.length < a)for (var r = e.length; r < a; r++)e += t;elsee = e.substring(0, a);return e}}
H = function(e) {var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", t = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, a = t.enc, r = void 0 === a ? "Utf8" : a, c = t.mode, i = void 0 === c ? "ECB" : c, o = t.padding, u = void 0 === o ? "Pkcs7" : o, d = p.a.enc[r].parse(n), l = {mode: p.a.mode[i],padding: p.a.pad[u]}, s = p.a.TripleDES.encrypt(e, d, l);return s.toString()
}s = res('3452')
p = res.n(s)console.log(encodeURI(H("123456", F(K("2018@163.com")))))

运行这段js代码即可拿到最终的加密结果。

seqCode和signature是变化的数据,但不涉及加密,自己尝试一下难度不大。

这篇关于某某云js逆向(两种方法)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/Huangqingmeng/article/details/124306617
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/316319

相关文章

JS+HTML实现在线图片水印添加工具

《JS+HTML实现在线图片水印添加工具》在社交媒体和内容创作日益频繁的今天,如何保护原创内容、展示品牌身份成了一个不得不面对的问题,本文将实现一个完全基于HTML+CSS构建的现代化图片水印在线工具... 目录概述功能亮点使用方法技术解析延伸思考运行效果项目源码下载总结概述在社交媒体和内容创作日益频繁的

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

Python中的魔术方法__new__详解

《Python中的魔术方法__new__详解》:本文主要介绍Python中的魔术方法__new__的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、核心意义与机制1.1 构造过程原理1.2 与 __init__ 对比二、核心功能解析2.1 核心能力2.2

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关