entry-pmsjjm.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. function K(a) {
  2. switch (a) {
  3. case 0:
  4. return '0';
  5. case 1:
  6. return '1';
  7. case 2:
  8. return '2';
  9. case 3:
  10. return '3';
  11. case 4:
  12. return '4';
  13. case 5:
  14. return '5';
  15. case 6:
  16. return '6';
  17. case 7:
  18. return '7';
  19. case 8:
  20. return '8';
  21. case 9:
  22. return '9';
  23. case 10:
  24. return 'a';
  25. case 11:
  26. return 'b';
  27. case 12:
  28. return 'c';
  29. case 13:
  30. return 'd';
  31. case 14:
  32. return 'e';
  33. case 15:
  34. return 'f';
  35. }
  36. }
  37. function t(a) {
  38. if (isNaN(a)) return a.toString(16);
  39. else {
  40. for (var b = ''; a >= 16;) (b = K(a % 16) + b), (a = parseInt(a / 16));
  41. return (b = K(a % 16) + b);
  42. }
  43. }
  44. function L(a) {
  45. var b,
  46. c = '';
  47. for (b = 0; b < a.length; b++) a.charAt(b) != ' ' && (c += a.charAt(b));
  48. return c;
  49. }
  50. function k(a, b) {
  51. for (var c = 0; a > 0;) (a & 1) != 0 && (c ^= b), (a >>>= 1), (b <<= 1);
  52. for (var d = 65536, f = 72448; d >= 256;) (c & d) != 0 && (c ^= f), (d >>= 1), (f >>= 1);
  53. return c;
  54. }
  55. function M(a) {
  56. var b;
  57. for (b = 0; b < 16; b++) a[b] = I[a[b]];
  58. return a;
  59. }
  60. function N(a) {
  61. var b = Array(4),
  62. c,
  63. d = a.length / 4,
  64. f = d + 6,
  65. i = Array(4 * (f + 1));
  66. for (c = 0; c < a.length; c++) i[c] = a[c];
  67. for (c = d; c < 4 * (f + 1);) {
  68. for (a = 0; a < 4; a++) b[a] = i[(c - 1) * 4 + a];
  69. if (c % d == 0) {
  70. var b = [b[1], b[2], b[3], b[0]],
  71. a = (b = M(b)),
  72. j = a[0],
  73. h = c / d,
  74. l = 2,
  75. e = 1;
  76. for (h--; h > 0;) (h & 1) != 0 && (e = k(e, l)), (l = k(l, l)), (h >>= 1);
  77. a[0] = j ^ e;
  78. } else d > 6 && c % d == 4 && (b = M(b));
  79. for (a = 0; a < 4; a++) i[c * 4 + a] = i[(c - d) * 4 + a] ^ b[a];
  80. c++;
  81. }
  82. return i;
  83. }
  84. function u(a, b) {
  85. var c;
  86. for (c = 0; c < 16; c++) a[c] = b[a[c]];
  87. return a;
  88. }
  89. function O(a) {
  90. var b, c, d, f;
  91. b = a[v];
  92. c = a[w];
  93. d = a[x];
  94. f = a[y];
  95. a[v] = c;
  96. a[w] = d;
  97. a[x] = f;
  98. a[y] = b;
  99. b = a[z];
  100. c = a[A];
  101. d = a[B];
  102. f = a[C];
  103. a[z] = d;
  104. a[A] = f;
  105. a[B] = b;
  106. a[C] = c;
  107. b = a[D];
  108. c = a[E];
  109. d = a[F];
  110. f = a[G];
  111. a[D] = f;
  112. a[E] = b;
  113. a[F] = c;
  114. a[G] = d;
  115. return a;
  116. }
  117. function P(a) {
  118. var b, c, d, f;
  119. b = a[v];
  120. c = a[w];
  121. d = a[x];
  122. f = a[y];
  123. a[v] = f;
  124. a[w] = b;
  125. a[x] = c;
  126. a[y] = d;
  127. b = a[z];
  128. c = a[A];
  129. d = a[B];
  130. f = a[C];
  131. a[z] = d;
  132. a[A] = f;
  133. a[B] = b;
  134. a[C] = c;
  135. b = a[D];
  136. c = a[E];
  137. d = a[F];
  138. f = a[G];
  139. a[D] = c;
  140. a[E] = d;
  141. a[F] = f;
  142. a[G] = b;
  143. return a;
  144. }
  145. function q(a, b, c) {
  146. var d;
  147. for (d = 0; d < 4; d++)
  148. (a[0 + d] ^= b[c + d * 4]),
  149. (a[4 + d] ^= b[c + d * 4 + 1]),
  150. (a[8 + d] ^= b[c + d * 4 + 2]),
  151. (a[12 + d] ^= b[c + d * 4 + 3]);
  152. return a;
  153. }
  154. function H(a) {
  155. var b,
  156. c,
  157. d = Array(16);
  158. for (b = 0; b < 4; b++) for (c = 0; c < 4; c++) d[b * 4 + c] = a[c * 4 + b];
  159. return d;
  160. }
  161. function J(a) {
  162. for (var b = Array(a.length / 2), c = 0; c < a.length / 2; c++) {
  163. var d = b,
  164. f = c,
  165. i;
  166. a: {
  167. i = a.substr(c * 2, 2);
  168. var j = i.charCodeAt(0);
  169. if (j >= 48 && j <= 57) j -= 48;
  170. else if (j >= 65 && j <= 70) j -= 55;
  171. else if (j >= 97 && j <= 102) j -= 87;
  172. else {
  173. window.alert(i.charAt(1) + ' is not a valid hex digit');
  174. i = -1;
  175. break a;
  176. }
  177. var h = i.charCodeAt(1);
  178. if (h >= 48 && h <= 57) h -= 48;
  179. else if (h >= 65 && h <= 70) h -= 55;
  180. else if (h >= 97 && h <= 102) h -= 87;
  181. else {
  182. window.alert(i.charAt(2) + ' is not a valid hex digit');
  183. i = -1;
  184. break a;
  185. }
  186. i = j * 16 + h;
  187. }
  188. d[f] = i;
  189. if (b[c] < 0) {
  190. b[0] = -1;
  191. break;
  192. }
  193. }
  194. return b;
  195. }
  196. var I = [
  197. 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240,
  198. 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4,
  199. 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214,
  200. 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251,
  201. 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255,
  202. 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144,
  203. 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231,
  204. 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221,
  205. 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152,
  206. 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15,
  207. 176, 84, 187, 22
  208. ],
  209. Q = [
  210. 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 255, 135, 52,
  211. 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161,
  212. 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92,
  213. 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0,
  214. 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138,
  215. 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53,
  216. 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27,
  217. 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177,
  218. 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224,
  219. 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99,
  220. 85, 33, 12, 125
  221. ],
  222. v = 4,
  223. w = 5,
  224. x = 6,
  225. y = 7,
  226. z = 8,
  227. A = 9,
  228. B = 10,
  229. C = 11,
  230. D = 12,
  231. E = 13,
  232. F = 14,
  233. G = 15,
  234. p = Array(16);
  235. this.encrypt = function (a, b) {
  236. var c = J(a),
  237. d;
  238. d = Array(16);
  239. b.length > 16 && (d = Array(b.length));
  240. var f;
  241. if (b.length >= 16) for (f = 0; f < b.length; f++) d[f] = b.charCodeAt(f);
  242. else {
  243. for (f = 0; f < b.length; f++) d[f] = b.charCodeAt(f);
  244. for (f = b.length; f < 16; f++) d[f] = 0;
  245. }
  246. var i = '';
  247. f = d.length / 16;
  248. for (var j = 0; j < f; j++) {
  249. var h;
  250. var l = c,
  251. e = d.slice(j * 16, (j + 1) * 16);
  252. h = Array(44);
  253. var g = Array(16),
  254. m = void 0;
  255. if (e[0] < 0) h = void 0;
  256. else if (l[0] < 0) h = void 0;
  257. else {
  258. h = N(l);
  259. l = l.length / 4 + 6;
  260. g = H(e);
  261. g = q(g, h, 0);
  262. for (m = 1; m < l; m++) {
  263. for (var g = u(g, I), e = (g = O(g)), n = (g = void 0), o = void 0, r = void 0, s = void 0, g = 0; g < 4; g++)
  264. (n = e[0 + g]),
  265. (o = e[4 + g]),
  266. (r = e[8 + g]),
  267. (s = e[12 + g]),
  268. (e[0 + g] = k(2, n) ^ k(3, o) ^ r ^ s),
  269. (e[4 + g] = n ^ k(2, o) ^ k(3, r) ^ s),
  270. (e[8 + g] = n ^ o ^ k(2, r) ^ k(3, s)),
  271. (e[12 + g] = k(3, n) ^ o ^ r ^ k(2, s));
  272. g = e;
  273. g = q(g, h, m * 16);
  274. }
  275. u(g, I);
  276. O(g);
  277. q(g, h, l * 16);
  278. p = H(g);
  279. h = t((p[0] >>> 4) & 15) + t(p[0] & 15);
  280. for (m = 1; m < 16; m++) h += t((p[m] >>> 4) & 15) + t(p[m] & 15);
  281. }
  282. i += h;
  283. }
  284. return L(i);
  285. };
  286. this.mydecrypt = function (a, b) {
  287. for (var c = J(a), b = L(b), d = '', f = b.length / 32, i = 0; i < f; i++) {
  288. var j;
  289. var h = c,
  290. l = b.slice(i * 32, (i + 1) * 32);
  291. j = Array(44);
  292. var e = Array(16),
  293. g = void 0,
  294. l = J(l);
  295. if (l[0] < 0) j = void 0;
  296. else if (h[0] < 0) j = void 0;
  297. else {
  298. j = N(h);
  299. g = h.length / 4 + 6;
  300. e = H(l);
  301. e = q(e, j, g * 16);
  302. for (g -= 1; g >= 1; g--) {
  303. for (
  304. var e = P(e), e = u(e, Q), l = (e = q(e, j, g * 16)), m = (h = e = void 0), n = void 0, o = void 0, e = 0;
  305. e < 4;
  306. e++
  307. )
  308. (h = l[0 + e]),
  309. (m = l[4 + e]),
  310. (n = l[8 + e]),
  311. (o = l[12 + e]),
  312. (l[0 + e] = k(14, h) ^ k(11, m) ^ k(13, n) ^ k(9, o)),
  313. (l[4 + e] = k(9, h) ^ k(14, m) ^ k(11, n) ^ k(13, o)),
  314. (l[8 + e] = k(13, h) ^ k(9, m) ^ k(14, n) ^ k(11, o)),
  315. (l[12 + e] = k(11, h) ^ k(13, m) ^ k(9, n) ^ k(14, o));
  316. e = l;
  317. }
  318. P(e);
  319. u(e, Q);
  320. q(e, j, 0);
  321. p = H(e);
  322. j = '';
  323. for (g = 0; g < 16; g++) j += String.fromCharCode(p[g]);
  324. }
  325. d += j;
  326. }
  327. for (i = d.length - 1; i >= 0; i--) if (d.charCodeAt(i) > 31 && d.charCodeAt(i) < 128) break;
  328. return d.substring(0, i + 1);
  329. };