解读一段js生成签名的代码逻辑,实现看不懂,求教!
ndb96 2019-01-28 06:21:54 一个js文件,很大,取了相关一部分,想把生成签名的逻辑解出来,然后用其它的语言做成自动化去读出数据
E = "function" === typeof Symbol && "symbol" === typeof Symbol.iterator ?
function(e) {
return typeof e
}: function(e) {
return e && "function" === typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol": typeof e
},
j = function(e) {
var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
n = t;
return "object" === ("undefined" === typeof e ? "undefined": E(e)) ? Array.isArray(e) ? JSON.stringify(e) : (Object.keys(e).forEach(function(t) {
n += ',"' + t + '":' + e[t]
}), "{" + n.substr(1) + "}") : JSON.stringify(e)
},
M = function(e, t) {
var n = "";
return Object.keys(e).sort().forEach(function(t) {
"undefined" !== typeof e[t] && "" !== e[t] && ("object" === E(e[t]) ? n += "&" + t + "=" + j(e[t]) : n += "&" + t + "=" + e[t])
}),
n = n.substr(1) + t,
i()(n)
},
var l = Object.assign({
nonce: "7d373514-ef2f-4e2f-b436-f1876a7c9328",
timestamp: "1548670214"
},
n);
o.Sign = M(l, "75DCC830-6D4D2EFE-D3D98A52-3AF60F1C");
最后得到的签名为:6570c7921ae5a4faa7a4ef3627b4ff8c
问题:o.Sign生成的逻辑
如果有信心的,可以加微信,发整个文件去分析,如果能解决,发红包酬谢