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

2022-03-08 11:24:11 +08:00
 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==

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

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

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

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

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

© 2021 V2EX