推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
niselover

[有偿] 翻译一个签名算法

  •  
  •   niselover · Mar 8, 2022 · 4075 views
    This topic created in 1706 days ago, the information mentioned may be changed or developed.

    部分代码:

    getSign: function(t) {
        var n = t.appkey, a = Object.keys(t);
        a.sort();
        var s = a.map(function(r) {
            return r + "=" + t[r];
        }).join("&");
        return s = (s = r(s)) + t.nonce_str + t.timestamp + e[n], s = (s = r(s)).toUpperCase();
    },
    

    wechat: d2FuZ3NhbnhpYQ==

    noe132
    noe132
    Mar 8, 2022
    1
    翻译成啥
    edward1987
    edward1987
    Mar 8, 2022
    2
    逻辑看着挺简单的啊。。 就是把 请求参数 t 拼成 排序后的 query 形式+特定参数,类似微信 token 的加密生成
    niselover
    niselover
    OP
    Mar 8, 2022
    3
    @noe132 #1 给我讲明白就行了
    musi
    musi
    Mar 8, 2022
    4
    代码不全,看着就像是对参数进行了字典序排序然后拼接
    niselover
    niselover
    OP
    Mar 8, 2022
    5
    @edward1987 #2 最后一行加密 我不知道怎么搞
    niselover
    niselover
    OP
    Mar 8, 2022
    6
    @musi #4 有完整代码
    musi
    musi
    Mar 8, 2022
    7
    @niselover #6 有完整代码建议你放到浏览器里面一步步 debug ,这是最容易懂的了
    niselover
    niselover
    OP
    Mar 8, 2022
    8
    @musi #7 不是 web 开发..搞不明白
    lawler
    lawler
    Mar 8, 2022
    9
    眼熟,像某非一线大厂的小程序接口 sgin 。
    musi
    musi
    Mar 8, 2022
    10
    加你了
    liuxu
    liuxu
    Mar 8, 2022
    11
    在爬谁的站,一看就是弄别人的接口搞不定 sign
    sakasaka
    sakasaka
    Mar 8, 2022
    12
    就是普通的加签,具体加密算法在 r()这个函数里,上述只是拼接逻辑。
    HAYWAEL
    HAYWAEL
    Mar 8, 2022
    13
    r() 这个是加密算法。我猜是 MD5 。因为见过不少类似的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1640 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 50ms · UTC 13:13 · PVG 21:13 · LAX 05:13 · JFK 08:13
    ♥ Do have faith in what you're doing.