|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
const CryptoJS = require('crypto-js'); |
|
|
|
|
|
|
|
|
|
logger = console.info; |
|
|
|
|
//logger = console.info;
|
|
|
|
|
|
|
|
|
|
class FpCrypt { |
|
|
|
|
cookie = ""; |
|
|
|
@ -38,7 +38,7 @@ class FpCrypt { |
|
|
|
|
var u = (new Date)['valueOf'](); |
|
|
|
|
s += '&urls='['concat'](u) |
|
|
|
|
} |
|
|
|
|
logger(`处理url后缀${t} 完成返回${s}`) |
|
|
|
|
// logger(`处理url后缀${t} 完成返回${s}`)
|
|
|
|
|
return s; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -55,7 +55,7 @@ class FpCrypt { |
|
|
|
|
if (t != null && t !== '') { |
|
|
|
|
l['enVal'] = this.Ye(t, e); |
|
|
|
|
} |
|
|
|
|
logger(`${t} ,${e} 处理返回${JSON.stringify(l)}`); |
|
|
|
|
// logger(`${t} ,${e} 处理返回${JSON.stringify(l)}`);
|
|
|
|
|
return l |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -66,16 +66,16 @@ class FpCrypt { |
|
|
|
|
var l, f = (new Date)['valueOf'](), |
|
|
|
|
d = (this.qe()["num"] % 2) === 0 ? (50 * Math['random'](1)) : (49 * Math['random']()) + 51; |
|
|
|
|
if ((d >= 0) && (d <= 50)) { |
|
|
|
|
logger('对dzfp-ssotoken进行加密') |
|
|
|
|
// logger('对dzfp-ssotoken进行加密')
|
|
|
|
|
l = this.Qs(f) |
|
|
|
|
} else if ((d >= 51) && d <= 100) { |
|
|
|
|
logger('对tokenKey进行加密') |
|
|
|
|
// logger('对tokenKey进行加密')
|
|
|
|
|
l = this.Qt(f, e) |
|
|
|
|
} |
|
|
|
|
var h = s['indexOf']("?") === (s["length"] - 1) ? "" : s['indexOf']("?") > -1 ? "&" : "?", |
|
|
|
|
p = s += ""['concat'](h, "ruuid=")['concat'](f); |
|
|
|
|
if (o) { |
|
|
|
|
logger(`对 ${o} 进行加密`) |
|
|
|
|
// logger(`对 ${o} 进行加密`)
|
|
|
|
|
var v = p['split']("?")['splice'](1); |
|
|
|
|
for (var b in v['map'](function (t) { |
|
|
|
|
return t["split"]("=")[0] |
|
|
|
@ -143,7 +143,7 @@ class FpCrypt { |
|
|
|
|
ke(t, e) { |
|
|
|
|
var n, i, a = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""), c = []; |
|
|
|
|
if (e = e || a.length, t) for (n = 0; n < t; 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]); |
|
|
|
|
logger(`生成随机 ${e} 位字符串`, c["join"]("")) |
|
|
|
|
// logger(`生成随机 ${e} 位字符串`, c["join"](""))
|
|
|
|
|
return c["join"]("") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -153,7 +153,7 @@ class FpCrypt { |
|
|
|
|
mode: CryptoJS.mode.ECB, //ECB模式
|
|
|
|
|
padding: CryptoJS.pad.Pkcs7 //padding处理
|
|
|
|
|
}).toString(); |
|
|
|
|
logger(`AES 加密:${t},${e} 加密所得${res}`) |
|
|
|
|
// logger(`AES 加密:${t},${e} 加密所得${res}`)
|
|
|
|
|
return res; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -176,7 +176,7 @@ class FpCrypt { |
|
|
|
|
u += this.a(l["split"](""))["join"]("") |
|
|
|
|
} |
|
|
|
|
var res = u["substring"](0, 20); |
|
|
|
|
logger('倒叙处理字符返回20位', res) |
|
|
|
|
// logger('倒叙处理字符返回20位', res)
|
|
|
|
|
return res; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -195,7 +195,7 @@ class FpCrypt { |
|
|
|
|
("t" !== u[0]) && "urlyzm" !== u[0] && "ruuid" !== u[0] && (f += "".concat(f.includes("?") ? "&" : "?").concat(c)) |
|
|
|
|
} |
|
|
|
|
(-1 === f.indexOf("?")) && (f += "?"); |
|
|
|
|
logger(`处理url后缀${t}完成返回${f}`) |
|
|
|
|
// logger(`处理url后缀${t}完成返回${f}`)
|
|
|
|
|
return f; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
@ -238,7 +238,7 @@ class FpCrypt { |
|
|
|
|
|
|
|
|
|
he(t) { |
|
|
|
|
let res = CryptoJS.MD5(t).toString(); |
|
|
|
|
logger(t, '生成32位小写md5 --->', res) |
|
|
|
|
// logger(t, '生成32位小写md5 --->', res)
|
|
|
|
|
return res |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -277,7 +277,7 @@ class FpCrypt { |
|
|
|
|
(-1 === c) && (c = s.length); |
|
|
|
|
var u = s.substring(a, c); |
|
|
|
|
var res = unescape(u); |
|
|
|
|
logger('获取token', t, '16进制解码', res) |
|
|
|
|
// logger('获取token', t, '16进制解码', res)
|
|
|
|
|
return res; |
|
|
|
|
} |
|
|
|
|
return null; |
|
|
|
|