溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淘寶sign參數(shù)生成算法

發(fā)布時間:2020-02-29 06:09:01 來源:網(wǎng)絡 閱讀:944 作者:super19911115 欄目:移動開發(fā)

淘寶sign參數(shù)生成算法

通過斷點分析得出,計算函數(shù)在https://g.alicdn.com/mtb/lib-mtop/2.3.16/mtop.js中,通過搜索得出計算公式為:

j = h(d.token + “&” + i + “&” + g + “&” + c.data)

具體函數(shù)為

if (d.H5Request === !0) {
var
f = "http://" + (d.prefix ? d.prefix + "." : "") + (d.subDomain ? d.subDomain + "." : "") + d.mainDomain + "/h6/" + c.api.toLowerCase() + "/" + c.v.toLowerCase() + "/", g = c.appKey || ("waptest" === d.subDomain ? "4272" : "12574478"), i = (new
    Date).getTime(), j = h(d.token + "&" + i + "&" + g + "&" + c.data), k = { jsv: x, appKey: g, t: i, sign: j }, l = { data: c.data, ua: c.ua }; Object.keys(c).forEach(function (a) {
    "undefined" == typeof
        k[a] && "undefined" == typeof
        l[a] && (k[a] = c[a])
    }), d.getJSONP ? k.type = "jsonp" : d.getOriginalJSONP ? k.type = "originaljsonp" : (d.getJSON || d.postJSON) && (k.type = "originaljson"), d.querystring = k, d.postdata = l, d.path = f
    }

進一步調(diào)試得知,h函數(shù)是計算md5值,因此可得知計算公式為:

md5Hex(token&t&appKey&data)

用python代碼實現(xiàn)如下:

def get_sign(token, t, data):
    pre_sign = token + '&' + t + '&' + appKey + '&' + data
    sign = hashlib.md5(pre_sign.encode(encoding='UTF-8')).hexdigest()
    return sign
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI