var JSEncrypt = require("jsencrypt"); var crypto_js = require("crypto-js"); function w(A) { var e, t, n = "", r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", a = "="; for (e = 0; e + 3 <= A.length; e += 3) t = parseInt(A.substring(e, e + 3), 16), n += r.charAt(t >> 6) + r.charAt(63 & t); e + 1 == A.length ? (t = parseInt(A.substring(e, e + 1), 16), n += r.charAt(t << 2)) : e + 2 == A.length && (t = parseInt(A.substring(e, e + 2), 16), n += r.charAt(t >> 2) + r.charAt((3 & t) << 4)); while ((3 & n.length) > 0) n += a; return n } function encryptLong(jsencrypt_object, A) { var e = jsencrypt_object.getKey() , t = (e.n.bitLength() + 7 >> 3) - 11; try { var n = "" , r = ""; if (A.length > t) return n = A.match(/.{1,50}/g), n.forEach((function (A) { var t = e.encrypt(A); r += t } )), w(r); var a = e.encrypt(A) , s = w(a); return s } catch (i) { return i } } function v(A, e) { var t = Object.keys(A); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(A); e && (n = n.filter((function (e) { return Object.getOwnPropertyDescriptor(A, e).enumerable } ))), t.push.apply(t, n) } return t } function encode_MD5(data) { return crypto_js.MD5(data).toString() } function m(A) { for (var e = 1; e < arguments.length; e++) { var t = null != arguments[e] ? arguments[e] : {}; e % 2 ? v(Object(t), !0).forEach((function (e) { b(A, e, t[e]) } )) : Object.getOwnPropertyDescriptors ? Object.defineProperties(A, Object.getOwnPropertyDescriptors(t)) : v(Object(t)).forEach((function (e) { Object.defineProperty(A, e, Object.getOwnPropertyDescriptor(t, e)) } )) } return A } function b(A, e, t) { return e in A ? Object.defineProperty(A, e, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : A[e] = t, A } function encrypt_param(public_key, page) { var r = public_key; var t = new JSEncrypt(); t.setPublicKey(r); var e = { "inviteMethod": "", "businessClassfication": "", "mc": "", "lx": "ZBGG", "dwmc": "", "pageIndex": page }; a = m(m({}, e), {}, { sign: encode_MD5(JSON.stringify(e)), timeStamp: +new Date }); return encryptLong(t, JSON.stringify(a)) } // var key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrD7FHuUUHUCWeInEnnRraglf7ytCal3jB4bP66T7vkUQZRepM1uNr1LWucdPMYvDsaN8LSsu8HHwoqqRoQx33T5pNrFWe4/daccjbM7m7h8VWRQ2Ny3rgRNuSIIg012o25ORgpAHjGBXQ+mMzFYvCFYzY6sKMmqS3k0xYpy6KwwIDAQAB"; // console.log(new JSEncrypt().__proto__) // console.log(encrypt_param(key, 0))