123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- const jsdom = require("jsdom");
- const {JSDOM} = jsdom;
- const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`,
- {
- url: "https://example.org/",
- referrer: "https://example.com/",
- contentType: "text/html",
- });
- window = dom.window;
- document = window.document;
- JSEncrypt = require('jsencrypt')
- CryptoJs = require('crypto-js')
- function K(value) {
- var encrypt = new JSEncrypt;
- var RSAPublicKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCS2TZDs5+orLYCL5SsJ54+bPCVs1ZQQwP2RoPkFQF2jcT0HnNNT8ZoQgJTrGwNi5QNTBDoHC4oJesAVYe6DoxXS9Nls8WbGE8ZNgOC5tVv1WVjyBw7k2x72C/qjPoyo/kO7TYl6Qnu4jqW/ImLoup/nsJppUznF0YgbyU/dFFNBQIDAQAB';
- encrypt.setPublicKey('-----BEGIN PUBLIC KEY-----' + RSAPublicKey + '-----END PUBLIC KEY-----')
- return encrypt.encrypt(value)
- }
- function mm(e, t) {
- return e += `_${t}_bosssoft_platform_095285`,
- t = CryptoJs.SHA1(e).toString(),
- CryptoJs.MD5(t).toString()
- }
- function get_njs(e){
- var t = (new Date).getTime();
- // ct = {
- // timeStamp: t,
- // nsssjss: K(String(e).split("?")[0] + "$$" + t),
- // sign: mm(t, e)
- // }
- return K(String(e).split("?")[0] + "$$" + t)
- }
- function decode_str(e) {
- var n, t, a, c, i, r;
- n = "",
- a = e.length,
- t = 0;
- while (t < a)
- switch (c = e.charCodeAt(t++),
- c >> 4) {
- case 0:
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- n += e.charAt(t - 1);
- break;
- case 12:
- case 13:
- i = e.charCodeAt(t++),
- n += String.fromCharCode((31 & c) << 6 | 63 & i);
- break;
- case 14:
- i = e.charCodeAt(t++),
- r = e.charCodeAt(t++),
- n += String.fromCharCode((15 & c) << 12 | (63 & i) << 6 | (63 & r) << 0);
- break
- }
- return n
- }
- function de_str(e) {
- var n, t, a, c, i, r, o, u = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1];
- r = e.length,
- i = 0,
- o = "";
- while (i < r) {
- do {
- n = u[255 & e.charCodeAt(i++)]
- } while (i < r && -1 == n);
- if (-1 == n)
- break;
- do {
- t = u[255 & e.charCodeAt(i++)]
- } while (i < r && -1 == t);
- if (-1 == t)
- break;
- o += String.fromCharCode(n << 2 | (48 & t) >> 4);
- do {
- if (a = 255 & e.charCodeAt(i++),
- 61 == a)
- return o;
- a = u[a]
- } while (i < r && -1 == a);
- if (-1 == a)
- break;
- o += String.fromCharCode((15 & t) << 4 | (60 & a) >> 2);
- do {
- if (c = 255 & e.charCodeAt(i++),
- 61 == c)
- return o;
- c = u[c]
- } while (i < r && -1 == c);
- if (-1 == c)
- break;
- o += String.fromCharCode((3 & a) << 6 | c)
- }
- return o
- }
- function get_data(data){
- return decode_str(de_str(data))
- }
- var i = 0
- , r = 8;
- function a(e, t) {
- e[t >> 5] |= 128 << 24 - t % 32,
- e[15 + (t + 64 >> 9 << 4)] = t;
- for (var n, i, r, o = Array(80), a = 1732584193, u = -271733879, c = -1732584194, h = 271733878, d = -1009589776, f = 0; f < e.length; f += 16) {
- for (var p = a, m = u, g = c, v = h, C = d, y = 0; y < 80; y++) {
- o[y] = y < 16 ? e[f + y] : l(o[y - 3] ^ o[y - 8] ^ o[y - 14] ^ o[y - 16], 1);
- var A = s(s(l(a, 5), (A = u,
- i = c,
- r = h,
- (n = y) < 20 ? A & i | ~A & r : !(n < 40) && n < 60 ? A & i | A & r | i & r : A ^ i ^ r)), s(s(d, o[y]), (n = y) < 20 ? 1518500249 : n < 40 ? 1859775393 : n < 60 ? -1894007588 : -899497514));
- d = h,
- h = c,
- c = l(u, 30),
- u = a,
- a = A
- }
- a = s(a, p),
- u = s(u, m),
- c = s(c, g),
- h = s(h, v),
- d = s(d, C)
- }
- return Array(a, u, c, h, d)
- }
- function s(e, t) {
- var n = (65535 & e) + (65535 & t);
- return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n
- }
- function l(e, t) {
- return e << t | e >>> 32 - t
- }
- function u(e) {
- for (var t = Array(), n = (1 << r) - 1, i = 0; i < e.length * r; i += r)
- t[i >> 5] |= (e.charCodeAt(i / r) & n) << 24 - i % 32;
- return t
- }
- function c(e) {
- for (var t = i ? "0123456789ABCDEF" : "0123456789abcdef", n = "", r = 0; r < 4 * e.length; r++)
- n += t.charAt(e[r >> 2] >> 8 * (3 - r % 4) + 4 & 15) + t.charAt(e[r >> 2] >> 8 * (3 - r % 4) & 15);
- return n
- }
- function h(e) {
- return c(a(u(e), e.length * 8))
- }
- function pp(e) {
- return CryptoJs.MD5(e).toString()
- }
- function mme(e, t) {
- var n = (new Date).getTime()
- , i = pp(h(`${n}_${String(e).split("?")[0]}_bosssoft_platform_095285`))
- , r = {};
- return r.time = n,
- r.url = String(e).split("?")[0],
- r.sign = i,
- null != t && "" !== t && (i = p(h("" + t + String(e).split("?")[0] + n)),
- r.tokensign = i),
- r
- }
|