修改打印

master
刘东琪 10 months ago
parent 0e07937fe2
commit 98c6962ec7
  1. 9
      routes/Fp.js
  2. 97
      routes/service/FpService.js
  3. 145
      routes/service/static/fp/fp-crypt.js

@ -14,7 +14,7 @@ router.post('/getLos', async (req, res) => {
let html = req.body.html let html = req.body.html
let loginCookieStr = req.body.loginCookie let loginCookieStr = req.body.loginCookie
let publicKey = req.body.publicKey; let publicKey = req.body.publicKey;
console.log(`${uuid};接收到 ${param} 请求:${url} loginCookieStr: ${loginCookieStr} publicKey: `, JSON.stringify(publicKey)); console.log(`${uuid};接收到 ${param} 请求:${url} loginCookieStr: ${loginCookieStr} publicKey: ${JSON.stringify(publicKey)}`);
if (url == null || url === "") { if (url == null || url === "") {
return res.status(500).send("url为空") return res.status(500).send("url为空")
} }
@ -25,8 +25,11 @@ router.post('/getLos', async (req, res) => {
try { try {
// 执行 // 执行
let los = await fpService.get_los(url, param, html, loginCookieStr, publicKey); let los = await fpService.get_los(url, param, html, loginCookieStr, publicKey);
console.log(los) if (!los || los['hd'] === '') {
res.status(200).send(los); console.error(`${uuid}; 生成错误!请检查 html 或 cookie, los:${JSON.stringify(los)}`)
return res.status(500).send('生成错误!请检查 html 或 cookie')
}
return res.status(200).send(los);
} catch (e) { } catch (e) {
console.error(e.stack) console.error(e.stack)
return res.status(500).send(e.message) return res.status(500).send(e.message)

@ -23,13 +23,7 @@ class FpService {
let urlPath = url.replace(baseUrl, ""); let urlPath = url.replace(baseUrl, "");
let headers = {}; let headers = {};
// if (param != null || param !== "") { console.time('los生成时长')
// let fpCrypt = new FpCrypt(loginCookieStr);
// let $e = fpCrypt.$e(param, urlPath);
// param = JSON.stringify({'jmbw': $e["enVal"]});
// headers['security-mes-key'] = $e["enMesKey"]
// }
console.time('js执行时长')
const [jsDom, cookieJar] = jsdomFromText({ const [jsDom, cookieJar] = jsdomFromText({
url: `${baseUrl}/invoice-query/invoice-query`, url: `${baseUrl}/invoice-query/invoice-query`,
referrer: baseUrl, referrer: baseUrl,
@ -59,101 +53,28 @@ class FpService {
let fpCrypt = new FpCrypt(loginCookieStr, publicKey); let fpCrypt = new FpCrypt(loginCookieStr, publicKey);
// 处理 Param
let handleParam = fpCrypt.handleParam(param, urlPath); let handleParam = fpCrypt.handleParam(param, urlPath);
var enParam = "" var enParam = ""
if (handleParam["enVal"]) { if (handleParam["enVal"]) {
enParam = JSON.stringify({'Jmbw': handleParam["enVal"]}); enParam = JSON.stringify({'Jmbw': handleParam["enVal"]});
headers['security-mes-key'] = handleParam["enMesKey"]
} }
// headers['security-mes-key'] = $e["enMesKey"] // 处理 xhr 后缀
let handleSuffix = fpCrypt.handleSuffix(urlPath); let handleSuffix = fpCrypt.handleSuffix(urlPath);
let los = window[window["_d_ts"]](handleSuffix, enParam); let los = window[window["_d_ts"]](handleSuffix, enParam);
console.log(urlPath) headers['lzkqow23819'] = los.hd
let cookies = cookieJar.getCookieStringSync(baseUrl); los["headers"] = headers['security-mes-key']
los["cookies"] = cookies los["cookies"] = cookieJar.getCookieStringSync(baseUrl);
console.log('js执行完成,返回结果 ', los) console.log('js执行完成,返回结果 ', los)
// 关闭 // 关闭
dom.window.close() dom.window.close()
console.timeEnd('js执行时长') console.timeEnd('los生成时长')
return los return los
} }
// random_32(enParam) {
// var n, i, e,
// a = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), c = [];
// if (e = a["length"], 32) {
// for (n = 0; n < 32; n++) {
// c[n] = a[0 | Math.random() * e];
// }
// } else {
// for (c[8] = c[13] = c[18] = c[23] = "-", c[14] = "4", n = 0; (n < 36); n++) {
// c[n] || (i = 0 | 16 * Math.random(), c[n] = a[19 === n ? 8 | (3 & i) : i]);
// }
// }
// console.log(`生成随机 ${e} 位字符串`, c["join"](""))
// return c["join"]("")
// }
//
// get_cookie(key, loginCookieStr) {
// var key_list = loginCookieStr.split("; ")
// for (var k = 0; key_list["length"] > k; k++) {
// if (key_list[k].includes(key)) {
// return key_list[k].split("=")[1]
// }
// }
// }
//
// reverse_str(t, loginCookieStr) {
// var i = this.get_cookie("dzfp-ssotoken", loginCookieStr), r = this.qe(i),
// c = t.split('').reverse().join("") + i.split('').reverse().join(""),
// u = "";
// for (var s = 0; s < c["length"]; s += r) {
// var l = c["substring"](s, s + r);
// u += l.split('').reverse().join("")
// }
// var res = u["substring"](0, 20);
// console.log('倒叙处理字符返回20位', res)
// return res;
// }
//
// qe(n) {
// null === n && (n = "");
// var o = n["match"]("[0-9]+");
// if ((null === o)) o = 3; else {
// var a = o["index"];
// o = parseInt(n["substring"](a, (a + 1)), 10) + 3
// }
// return o
// }
//
// get_url(url) {
// return url + "?"
// }
//
// hex_md5(reverse_str, url) {
// var strlist = reverse_str + "+" + this.get_url(url)
// var res = CryptoJS.MD5(strlist).toString()
// console.log('md5:', res)
// return res
// }
//
// aes_encrypt(value, key) {
// const srcs = CryptoJS.enc.Utf8.parse(value);
// const key1 = CryptoJS.enc.Utf8.parse(key);
// const cipherTxt = CryptoJS.AES.encrypt(srcs, key1, {
// mode: CryptoJS.mode.ECB, //ECB模式
// padding: CryptoJS.pad.Pkcs7 //padding处理
// }).toString();
// console.log('aes:', cipherTxt)
// return cipherTxt
// }
} }
//fp = new FpService()
//fp.random_32()
//fp.get_cookie("dzfp-ssotoken","tpass_p3d8j63p8b6p4bbab8dca4832a7fj9cc=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImJjNzUxNmI4NWI0NjRiZjlhMDJlNzg2NWIxZmViMGE3In0.xMmdn82GoF9NH8ldYx5mCrHFZhP13041_34uZ51kF9INM7MB33rARWCqhCZiqNZUKwB1WkTH5jDIZLwh_bRYyw; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221920330690e83a-0f487f8b21c83b8-26001151-3153384-1920330690f1823%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkyMDMzMDY5MGU4M2EtMGY0ODdmOGIyMWM4M2I4LTI2MDAxMTUxLTMxNTMzODQtMTkyMDMzMDY5MGYxODIzIn0%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%22%2C%22value%22%3A%22%22%7D%2C%22%24device_id%22%3A%221920330690e83a-0f487f8b21c83b8-26001151-3153384-1920330690f1823%22%7D; tpass_mcsc7e2ssscb4sfmbsmas35sass2753b=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijk3ZjQ1NjU5MzA4ODRhNmFiOWIxMjNhZDY5MDdkYTU5In0.NABIuYcca0UKpWOwvjiut7f3yn-tIIGZyBBni7S1jFAoaRR_kaH8CTZLxSxfc6-Q6n5hcG1l94prwDFGgzZWYw; tpass_k238ck9eedkb48a9a5d7k5c2c5kkka58=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImZkZTE4NTFkZGJhNDQ0MWE5ZWJlMWFjODU5NTNiNjM0In0.qHK5SMznOicFnrhi-1MnF16y2QypCSNLtbi3KE2pD1kyz4yRpLE8Fm4aHQMJ5hMa5aO1ibB-iQ-npD7QkoP3qA; tpass_te95ftefe59243cbafta4fb82bbtfcte=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImViYTMzNDVhYTU0NjQ0NWZhOTdlYmViY2Q3MWNiNWQ4In0.Rk1-kzwo4fneL4FapgQzhzxC-vBVu2zpLHQVfnylQ88x6Ik5QNt3PuyfmqLdoenoR7y69BgAOM3GvLi_KFcsoA; tpass_q4q6b8aa469v4369ae7483c4vb45cvca=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijg3MWNhNzIyMmRmZjQ1YzQ4YmFjYzViMDExYTY1MjU2In0.rUzqjvnFTAwRxRa49yeiPWqHWNF8WRmsKPayVfGRLuMja5huBOmlpHc-kEXBiGh43ei3t-ZbT7EcvGRga0aZkQ; tpass_mb29dc78543X4X769Hd7d8a35Hdd5236=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjgxYTYwZjIxZmMwZTRlMDY5NTFkNDI1YWUwOWM3MjFjIn0.V1-LfcMe6VM9W4q_F15gqOxNbA2jRLRVpCml0WFvKTYAGdFqsi3JEgGBvMCL0SEkAOSVhGIn1A9ILjCAuiJ_hg; tpass_c5djdncfa7nj4n2cajna2j68cndbj2fc=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImI1NzM2MjUwMDE5MDQyMTNiYzViNmQ0NGI1MGRlMTZlIn0.Es7Q_0jUPcvGddK90anCqeEIBjtl52YZ3669quo27iVjnObAt580ZEHJPjCSLw9vu3HAtPY2SkjYuquc0tItqA; tpass_ue7c9954acea492784ac6g78939gc2e9=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImM4Y2Y1ZGZkYjJkMTQ0NGJiYjM0NGM1ZGJjZDlhY2UwIn0.dfWdZX2tAHcB5Xgb36Y5WQJabicYJYoURhAhWzKu4cSklCYc1lK6-fjbTbiRUNmW3hAQ0lUDUkH3DHVVTuvOjA; tpass_x774e745d5k24ex5a7kkk375x933f654=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjM0NjljNWY5MThkZTQ4M2JiY2QwNDcyMjgwMzgwZWFkIn0.NKypnkLFaewOcawUAg_fZQdbFAbgFU1Nqj3ibv3FumIKIW6AZXiD7c0ASR16aTa4B4XUBjrysQiXrHksxRX-OQ; oauth2_referer=etax.hubei.chinatax.gov.cn; tpass_tct8zta97w6c46zdt9zc2648227df5z2=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjVkNTg4ZjBmN2QxNjQ0NDdhZTczYjBlMzM2ZWIzMGYzIn0.Lmt8PQ7SLdivPrcoa6hxEIW2osZBMFc34ate7WKZ31AtSaOYDDMy1lzVmlBmqaIRNIJUhS18N_jJulWz4XAcJA; tpass_sa67ddd29sc94cga9f96s7da2772s6d7=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjVlZjcyMTNmYWYwZTRkYmRiNDMyODU5MmY2NDBjM2EyIn0.jSXIt0ul0pp0Qnb7s7VSdJxVmyfY7fPqzQQg4s2ATS1dluuM49H9Q93oveAxy7URB0s4nMTtWwyTq3mqB_5mpA; tpass_b6edq5qqc5cb4c3288q6aq6fab5qc3b4=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjFlYzI1Zjc4ZGQyMDRmNTQ5MTAxZGEyNDM2MjFmOGU1In0.0VH-6AoQlwsdXMCV6u9nAWCDBWw_sknQQbZy_IzhlrxXkanffsVByh63GYra3awUBma2w-c6WfCwQBdcJGukMg; znhd-ssotoken=a8a7bf26beac4fd4929980b20971b228; ZNHD_SECURITY_CHECK_TOKEN=e4dd8ea2c69440169aede2fdce9a3180; lzkqow39189=2bb488d931034436b6248e9f304424ec; DTSwUOYx7MiWN=ab2bb065ae0ed58c8a84593bb5a3028cb6197c4c212230fce7fbf44bb130b09; dzfp-ssotoken=684d411b247b45c3bcc27ab2e6f8fe68; SSO_SECURITY_CHECK_TOKEN=1100ce6e65af4dd7bb5cf78f795e16a5; lzkqow38189=1727141642601; c_time=12; MKls83gqduGS=0fce79cac178fb6e9a66ca06fa3610191e8668277ba8c269ff723d98e73fd12d893bf51bac776eed80b13155ab4b96ea")
//fp.reverse_str("","tpass_p3d8j63p8b6p4bbab8dca4832a7fj9cc=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImJjNzUxNmI4NWI0NjRiZjlhMDJlNzg2NWIxZmViMGE3In0.xMmdn82GoF9NH8ldYx5mCrHFZhP13041_34uZ51kF9INM7MB33rARWCqhCZiqNZUKwB1WkTH5jDIZLwh_bRYyw; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%221920330690e83a-0f487f8b21c83b8-26001151-3153384-1920330690f1823%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkyMDMzMDY5MGU4M2EtMGY0ODdmOGIyMWM4M2I4LTI2MDAxMTUxLTMxNTMzODQtMTkyMDMzMDY5MGYxODIzIn0%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%22%2C%22value%22%3A%22%22%7D%2C%22%24device_id%22%3A%221920330690e83a-0f487f8b21c83b8-26001151-3153384-1920330690f1823%22%7D; tpass_mcsc7e2ssscb4sfmbsmas35sass2753b=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijk3ZjQ1NjU5MzA4ODRhNmFiOWIxMjNhZDY5MDdkYTU5In0.NABIuYcca0UKpWOwvjiut7f3yn-tIIGZyBBni7S1jFAoaRR_kaH8CTZLxSxfc6-Q6n5hcG1l94prwDFGgzZWYw; tpass_k238ck9eedkb48a9a5d7k5c2c5kkka58=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImZkZTE4NTFkZGJhNDQ0MWE5ZWJlMWFjODU5NTNiNjM0In0.qHK5SMznOicFnrhi-1MnF16y2QypCSNLtbi3KE2pD1kyz4yRpLE8Fm4aHQMJ5hMa5aO1ibB-iQ-npD7QkoP3qA; tpass_te95ftefe59243cbafta4fb82bbtfcte=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImViYTMzNDVhYTU0NjQ0NWZhOTdlYmViY2Q3MWNiNWQ4In0.Rk1-kzwo4fneL4FapgQzhzxC-vBVu2zpLHQVfnylQ88x6Ik5QNt3PuyfmqLdoenoR7y69BgAOM3GvLi_KFcsoA; tpass_q4q6b8aa469v4369ae7483c4vb45cvca=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijg3MWNhNzIyMmRmZjQ1YzQ4YmFjYzViMDExYTY1MjU2In0.rUzqjvnFTAwRxRa49yeiPWqHWNF8WRmsKPayVfGRLuMja5huBOmlpHc-kEXBiGh43ei3t-ZbT7EcvGRga0aZkQ; tpass_mb29dc78543X4X769Hd7d8a35Hdd5236=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjgxYTYwZjIxZmMwZTRlMDY5NTFkNDI1YWUwOWM3MjFjIn0.V1-LfcMe6VM9W4q_F15gqOxNbA2jRLRVpCml0WFvKTYAGdFqsi3JEgGBvMCL0SEkAOSVhGIn1A9ILjCAuiJ_hg; tpass_c5djdncfa7nj4n2cajna2j68cndbj2fc=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImI1NzM2MjUwMDE5MDQyMTNiYzViNmQ0NGI1MGRlMTZlIn0.Es7Q_0jUPcvGddK90anCqeEIBjtl52YZ3669quo27iVjnObAt580ZEHJPjCSLw9vu3HAtPY2SkjYuquc0tItqA; tpass_ue7c9954acea492784ac6g78939gc2e9=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6ImM4Y2Y1ZGZkYjJkMTQ0NGJiYjM0NGM1ZGJjZDlhY2UwIn0.dfWdZX2tAHcB5Xgb36Y5WQJabicYJYoURhAhWzKu4cSklCYc1lK6-fjbTbiRUNmW3hAQ0lUDUkH3DHVVTuvOjA; tpass_x774e745d5k24ex5a7kkk375x933f654=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjM0NjljNWY5MThkZTQ4M2JiY2QwNDcyMjgwMzgwZWFkIn0.NKypnkLFaewOcawUAg_fZQdbFAbgFU1Nqj3ibv3FumIKIW6AZXiD7c0ASR16aTa4B4XUBjrysQiXrHksxRX-OQ; oauth2_referer=etax.hubei.chinatax.gov.cn; tpass_tct8zta97w6c46zdt9zc2648227df5z2=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjVkNTg4ZjBmN2QxNjQ0NDdhZTczYjBlMzM2ZWIzMGYzIn0.Lmt8PQ7SLdivPrcoa6hxEIW2osZBMFc34ate7WKZ31AtSaOYDDMy1lzVmlBmqaIRNIJUhS18N_jJulWz4XAcJA; tpass_sa67ddd29sc94cga9f96s7da2772s6d7=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjVlZjcyMTNmYWYwZTRkYmRiNDMyODU5MmY2NDBjM2EyIn0.jSXIt0ul0pp0Qnb7s7VSdJxVmyfY7fPqzQQg4s2ATS1dluuM49H9Q93oveAxy7URB0s4nMTtWwyTq3mqB_5mpA; tpass_b6edq5qqc5cb4c3288q6aq6fab5qc3b4=eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjFlYzI1Zjc4ZGQyMDRmNTQ5MTAxZGEyNDM2MjFmOGU1In0.0VH-6AoQlwsdXMCV6u9nAWCDBWw_sknQQbZy_IzhlrxXkanffsVByh63GYra3awUBma2w-c6WfCwQBdcJGukMg; znhd-ssotoken=a8a7bf26beac4fd4929980b20971b228; ZNHD_SECURITY_CHECK_TOKEN=e4dd8ea2c69440169aede2fdce9a3180; lzkqow39189=2bb488d931034436b6248e9f304424ec; DTSwUOYx7MiWN=ab2bb065ae0ed58c8a84593bb5a3028cb6197c4c212230fce7fbf44bb130b09; dzfp-ssotoken=684d411b247b45c3bcc27ab2e6f8fe68; SSO_SECURITY_CHECK_TOKEN=1100ce6e65af4dd7bb5cf78f795e16a5; lzkqow38189=1727141642601; c_time=12; MKls83gqduGS=0fce79cac178fb6e9a66ca06fa3610191e8668277ba8c269ff723d98e73fd12d893bf51bac776eed80b13155ab4b96ea")
//fp.get_url("/szzhzz/qlfpcx/v1/queryFpjcxx")
//fp.hex_md5("2e6f8fe68c3bcc27ab11","/szzhzz/qlfpcx/v1/queryFpjcxx")
//fp.aes_encrypt('aebb350059d1768250bc36a5320d180e{"gjbq":"1","fpztDm":["01","02","03","04"],"fplyDm":"0","fplxDm":[],"kprqq":"2024-09-08","kprqz":"2024-09-24","tfrqq":"2024-09-08","tfrqz":"2024-09-24","sflzfp":"","dtBz":"N","pageNumber":1,"pageSize":20}',"714acfe38a3df9da5651d01fd223d74d")
module.exports = FpService module.exports = FpService

@ -18,7 +18,7 @@ class FpCrypt {
/** /**
* 处理 url 后缀 * 处理 url 后缀
* @param t url * @param t url
* @param e * @param e xhr
* @returns {*} * @returns {*}
*/ */
handleSuffix(t, e) { handleSuffix(t, e) {
@ -65,16 +65,17 @@ class FpCrypt {
s = this.Ke(s); s = this.Ke(s);
var l, f = (new Date)['valueOf'](), var l, f = (new Date)['valueOf'](),
d = (this.qe()["num"] % 2) === 0 ? (50 * Math['random'](1)) : (49 * Math['random']()) + 51; d = (this.qe()["num"] % 2) === 0 ? (50 * Math['random'](1)) : (49 * Math['random']()) + 51;
logger("tokenKey 加密方法选择", d, e)
// d = ((this.qe()['num'] % 2) === 0) ? (50 * Math['random'](1)) : (49 * Math['random']()) + 51;
if ((d >= 0) && (d <= 50)) { if ((d >= 0) && (d <= 50)) {
logger('对dzfp-ssotoken进行加密')
l = this.Qs(f) l = this.Qs(f)
} else if ((d >= 51) && d <= 100) { } else if ((d >= 51) && d <= 100) {
logger('对tokenKey进行加密')
l = this.Qt(f, e) l = this.Qt(f, e)
} }
var h = s['indexOf']("?") === (s["length"] - 1) ? "" : s['indexOf']("?") > -1 ? "&" : "?", var h = s['indexOf']("?") === (s["length"] - 1) ? "" : s['indexOf']("?") > -1 ? "&" : "?",
p = s += ""['concat'](h, "ruuid=")['concat'](f); p = s += ""['concat'](h, "ruuid=")['concat'](f);
if (o) { if (o) {
logger(`${o} 进行加密`)
var v = p['split']("?")['splice'](1); var v = p['split']("?")['splice'](1);
for (var b in v['map'](function (t) { for (var b in v['map'](function (t) {
return t["split"]("=")[0] return t["split"]("=")[0]
@ -180,44 +181,64 @@ class FpCrypt {
} }
Ke(t) { Ke(t) {
var n = "6|5|4|3|0|1|2"["split"]("|"), o = 0; var s, l, f;
while (1) { if ("" === t || null == t) {
switch (n[o++]) { return t;
case "0": }
f = t;
(0 !== f["indexOf"]("/")) && (f += "/");
s = t["split"]("?");
l = [];
(s["length"] > 1) && (f = s[0], l = s[1]["split"]("&")); (s["length"] > 1) && (f = s[0], l = s[1]["split"]("&"));
continue;
case "1":
for (var a = 0; a < l["length"]; a++) { for (var a = 0; a < l["length"]; a++) {
var c = l[a], u = c.split("="); var c = l[a], u = c.split("=");
("t" !== u[0]) && "urlyzm" !== u[0] && "ruuid" !== u[0] && (f += "".concat(f.includes("?") ? "&" : "?").concat(c)) ("t" !== u[0]) && "urlyzm" !== u[0] && "ruuid" !== u[0] && (f += "".concat(f.includes("?") ? "&" : "?").concat(c))
} }
continue;
case "2":
(-1 === f.indexOf("?")) && (f += "?"); (-1 === f.indexOf("?")) && (f += "?");
logger(`处理url后缀${t}完成返回${f}`) logger(`处理url后缀${t}完成返回${f}`)
return f; return f;
case "3":
var s = t["split"]("?"), l = [];
continue;
case "4":
(0 !== f["indexOf"]("/")) && (f += "/");
continue;
case "5":
var f = t;
continue;
case "6":
if ("" === t || null == t) {
return t;
}
continue
}
break
}
} }
// Ke(t) {
// var n = "6|5|4|3|0|1|2"["split"]("|"), o = 0;
// while (1) {
// switch (n[o++]) {
// case "0":
// (s["length"] > 1) && (f = s[0], l = s[1]["split"]("&"));
// continue;
// case "1":
// for (var a = 0; a < l["length"]; a++) {
// var c = l[a], u = c.split("=");
// ("t" !== u[0]) && "urlyzm" !== u[0] && "ruuid" !== u[0] && (f += "".concat(f.includes("?") ? "&" : "?").concat(c))
// }
// continue;
// case "2":
// (-1 === f.indexOf("?")) && (f += "?");
// logger(`处理url后缀${t}完成返回${f}`)
// return f;
// case "3":
// var s = t["split"]("?"), l = [];
// continue;
// case "4":
// (0 !== f["indexOf"]("/")) && (f += "/");
// continue;
// case "5":
// var f = t;
// continue;
// case "6":
// if ("" === t || null == t) {
// return t;
// }
// continue
// }
// break
// }
// }
he(t) { he(t) {
let res = CryptoJS.MD5(t).toString(); let res = CryptoJS.MD5(t).toString();
logger('生成32位小写md5', t, res) logger(t, '生成32位小写md5 --->', res)
return res return res
} }
@ -246,18 +267,11 @@ class FpCrypt {
}; };
Ae(t) { Ae(t) {
var n = "4|2|1|3|0"["split"]("|"), i = 0, o, l, s; var o, l, s;
while (1) { s = this.cookie;
switch (n[i++]) { l = JSON["parse"](JSON["stringify"](t));
case "0":
return null;
case "1":
o = s["indexOf"](l);
continue;
case "2":
l += "="; l += "=";
continue; o = s["indexOf"](l);
case "3":
if ((-1 !== o)) { if ((-1 !== o)) {
var a = (o + l["length"]), c = s.indexOf(";", a); var a = (o + l["length"]), c = s.indexOf(";", a);
(-1 === c) && (c = s.length); (-1 === c) && (c = s.length);
@ -266,30 +280,45 @@ class FpCrypt {
logger('获取token', t, '16进制解码', res) logger('获取token', t, '16进制解码', res)
return res; return res;
} }
continue; return null;
case "4":
// todo: 这里获取 cookie
s = this.cookie;
l = JSON["parse"](JSON["stringify"](t));
continue
}
break
}
}; };
// Ae(t) {
// var n = "4|2|1|3|0"["split"]("|"), i = 0, o, l, s;
// while (1) {
// switch (n[i++]) {
// case "0":
// return null;
// case "1":
// o = s["indexOf"](l);
// continue;
// case "2":
// l += "=";
// continue;
// case "3":
// if ((-1 !== o)) {
// var a = (o + l["length"]), c = s.indexOf(";", a);
// (-1 === c) && (c = s.length);
// var u = s.substring(a, c);
// var res = unescape(u);
// logger('获取token', t, '16进制解码', res)
// return res;
// }
// continue;
// case "4":
// // todo: 这里获取 cookie
// s = this.cookie;
// l = JSON["parse"](JSON["stringify"](t));
// continue
// }
// break
// }
// };
a(t) { a(t) {
return t.reverse() return t.reverse()
}; };
} }
// let fpCrypt = new FpCrypt("oauth2_referer=dppt.hubei.chinatax.gov.cn; dzfp-ssotoken=37c347d5ab014bacb418d7756b9e7ee1; SSO_SECURITY_CHECK_TOKEN=91081171bc604d16910500c4982e74ea; c_time=12; lzkqow39189=c6edeb37685b423c8298eaa8e1b41097; DTSwUOYx7MiWN=5c199c6d5d4fda3505876d98a7e173007f4ab2ae661119adf9143257d71d06e5; lzkqow38189=1727098216617; MKls83gqduGS=e4ec10654056af2f2641b3ce60f124ee7cc607e9ac44bb8b86b9e6d5879ce1c3c7b827862a2ff46be48061c039dccddf");
// fpCrypt.handleParam('{"gjbq": "1","fpztDm": ["01","02","03","04"],"fplyDm": "0","fplxDm": [],"kprqq": "2024-09-08","kprqz": "2024-09-24","tfrqq": "2024-09-08","tfrqz": "2024-09-24","sflzfp": "","dtBz": "N","pageNumber": 1,"pageSize": 20}',
// "/szzhzz/qlfpcx/v1/queryFpjcxx?t=1727101152631")
// let handleSuffix = fpCrypt.handleSuffix("/szzhzz/qlfpcx/v1/queryFpjcxx?t=1727115438241");
// console.log(handleSuffix)
module.exports = FpCrypt module.exports = FpCrypt
Loading…
Cancel
Save