fjszfcgwscsxwz_pm.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. const jsdom = require("jsdom");
  2. const {JSDOM} = jsdom;
  3. const dom = new JSDOM(`<!DOCTYPE html><p>Hello world</p>`,
  4. {
  5. url: "https://example.org/",
  6. referrer: "https://example.com/",
  7. contentType: "text/html",
  8. });
  9. window = dom.window;
  10. document = window.document;
  11. JSEncrypt = require('jsencrypt')
  12. CryptoJs = require('crypto-js')
  13. function K(value) {
  14. var encrypt = new JSEncrypt;
  15. var RSAPublicKey = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCS2TZDs5+orLYCL5SsJ54+bPCVs1ZQQwP2RoPkFQF2jcT0HnNNT8ZoQgJTrGwNi5QNTBDoHC4oJesAVYe6DoxXS9Nls8WbGE8ZNgOC5tVv1WVjyBw7k2x72C/qjPoyo/kO7TYl6Qnu4jqW/ImLoup/nsJppUznF0YgbyU/dFFNBQIDAQAB';
  16. encrypt.setPublicKey('-----BEGIN PUBLIC KEY-----' + RSAPublicKey + '-----END PUBLIC KEY-----')
  17. return encrypt.encrypt(value)
  18. }
  19. function mm(e, t) {
  20. return e += `_${t}_bosssoft_platform_095285`,
  21. t = CryptoJs.SHA1(e).toString(),
  22. CryptoJs.MD5(t).toString()
  23. }
  24. function get_njs(e){
  25. var t = (new Date).getTime();
  26. // ct = {
  27. // timeStamp: t,
  28. // nsssjss: K(String(e).split("?")[0] + "$$" + t),
  29. // sign: mm(t, e)
  30. // }
  31. return K(String(e).split("?")[0] + "$$" + t)
  32. }
  33. function decode_str(e) {
  34. var n, t, a, c, i, r;
  35. n = "",
  36. a = e.length,
  37. t = 0;
  38. while (t < a)
  39. switch (c = e.charCodeAt(t++),
  40. c >> 4) {
  41. case 0:
  42. case 1:
  43. case 2:
  44. case 3:
  45. case 4:
  46. case 5:
  47. case 6:
  48. case 7:
  49. n += e.charAt(t - 1);
  50. break;
  51. case 12:
  52. case 13:
  53. i = e.charCodeAt(t++),
  54. n += String.fromCharCode((31 & c) << 6 | 63 & i);
  55. break;
  56. case 14:
  57. i = e.charCodeAt(t++),
  58. r = e.charCodeAt(t++),
  59. n += String.fromCharCode((15 & c) << 12 | (63 & i) << 6 | (63 & r) << 0);
  60. break
  61. }
  62. return n
  63. }
  64. function de_str(e) {
  65. 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];
  66. r = e.length,
  67. i = 0,
  68. o = "";
  69. while (i < r) {
  70. do {
  71. n = u[255 & e.charCodeAt(i++)]
  72. } while (i < r && -1 == n);
  73. if (-1 == n)
  74. break;
  75. do {
  76. t = u[255 & e.charCodeAt(i++)]
  77. } while (i < r && -1 == t);
  78. if (-1 == t)
  79. break;
  80. o += String.fromCharCode(n << 2 | (48 & t) >> 4);
  81. do {
  82. if (a = 255 & e.charCodeAt(i++),
  83. 61 == a)
  84. return o;
  85. a = u[a]
  86. } while (i < r && -1 == a);
  87. if (-1 == a)
  88. break;
  89. o += String.fromCharCode((15 & t) << 4 | (60 & a) >> 2);
  90. do {
  91. if (c = 255 & e.charCodeAt(i++),
  92. 61 == c)
  93. return o;
  94. c = u[c]
  95. } while (i < r && -1 == c);
  96. if (-1 == c)
  97. break;
  98. o += String.fromCharCode((3 & a) << 6 | c)
  99. }
  100. return o
  101. }
  102. function get_data(data){
  103. return decode_str(de_str(data))
  104. }
  105. var i = 0
  106. , r = 8;
  107. function a(e, t) {
  108. e[t >> 5] |= 128 << 24 - t % 32,
  109. e[15 + (t + 64 >> 9 << 4)] = t;
  110. 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) {
  111. for (var p = a, m = u, g = c, v = h, C = d, y = 0; y < 80; y++) {
  112. o[y] = y < 16 ? e[f + y] : l(o[y - 3] ^ o[y - 8] ^ o[y - 14] ^ o[y - 16], 1);
  113. var A = s(s(l(a, 5), (A = u,
  114. i = c,
  115. r = h,
  116. (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));
  117. d = h,
  118. h = c,
  119. c = l(u, 30),
  120. u = a,
  121. a = A
  122. }
  123. a = s(a, p),
  124. u = s(u, m),
  125. c = s(c, g),
  126. h = s(h, v),
  127. d = s(d, C)
  128. }
  129. return Array(a, u, c, h, d)
  130. }
  131. function s(e, t) {
  132. var n = (65535 & e) + (65535 & t);
  133. return (e >> 16) + (t >> 16) + (n >> 16) << 16 | 65535 & n
  134. }
  135. function l(e, t) {
  136. return e << t | e >>> 32 - t
  137. }
  138. function u(e) {
  139. for (var t = Array(), n = (1 << r) - 1, i = 0; i < e.length * r; i += r)
  140. t[i >> 5] |= (e.charCodeAt(i / r) & n) << 24 - i % 32;
  141. return t
  142. }
  143. function c(e) {
  144. for (var t = i ? "0123456789ABCDEF" : "0123456789abcdef", n = "", r = 0; r < 4 * e.length; r++)
  145. n += t.charAt(e[r >> 2] >> 8 * (3 - r % 4) + 4 & 15) + t.charAt(e[r >> 2] >> 8 * (3 - r % 4) & 15);
  146. return n
  147. }
  148. function h(e) {
  149. return c(a(u(e), e.length * 8))
  150. }
  151. function pp(e) {
  152. return CryptoJs.MD5(e).toString()
  153. }
  154. function mme(e, t) {
  155. var n = (new Date).getTime()
  156. , i = pp(h(`${n}_${String(e).split("?")[0]}_bosssoft_platform_095285`))
  157. , r = {};
  158. return r.time = n,
  159. r.url = String(e).split("?")[0],
  160. r.sign = i,
  161. null != t && "" !== t && (i = p(h("" + t + String(e).split("?")[0] + n)),
  162. r.tokensign = i),
  163. r
  164. }