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

2022 年 3 月 8 日
 niselover

部分代码:

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==

3487 次点击
所在节点    JavaScript
13 条回复
noe132
2022 年 3 月 8 日
翻译成啥
edward1987
2022 年 3 月 8 日
逻辑看着挺简单的啊。。 就是把 请求参数 t 拼成 排序后的 query 形式+特定参数,类似微信 token 的加密生成
niselover
2022 年 3 月 8 日
@noe132 #1 给我讲明白就行了
musi
2022 年 3 月 8 日
代码不全,看着就像是对参数进行了字典序排序然后拼接
niselover
2022 年 3 月 8 日
@edward1987 #2 最后一行加密 我不知道怎么搞
niselover
2022 年 3 月 8 日
@musi #4 有完整代码
musi
2022 年 3 月 8 日
@niselover #6 有完整代码建议你放到浏览器里面一步步 debug ,这是最容易懂的了
niselover
2022 年 3 月 8 日
@musi #7 不是 web 开发..搞不明白
lawler
2022 年 3 月 8 日
眼熟,像某非一线大厂的小程序接口 sgin 。
musi
2022 年 3 月 8 日
加你了
liuxu
2022 年 3 月 8 日
在爬谁的站,一看就是弄别人的接口搞不定 sign
sakasaka
2022 年 3 月 8 日
就是普通的加签,具体加密算法在 r()这个函数里,上述只是拼接逻辑。
HAYWAEL
2022 年 3 月 8 日
r() 这个是加密算法。我猜是 MD5 。因为见过不少类似的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/838813

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX