[束手无策] 我们一起来揭秘外卖订单 ID 的奥秘吧

2018-11-10 12:05:00 +08:00
 xmsz

最近再搞抢最大红包的项目

然后有几个难点还没想到攻破,其中一个就是如何获取饿了么的订单 ID

先给大家看看几个订单 ID:

订单 ID 订单 ID16 进制 3030230278627471395 2a0d8a 62313 93000 3030047361523593293 2a0ce4 057c3 93000 3029674405253427331 2a0b90 d1d63 93000

因为饿了么最后的红包请求 ID 是 16 进制,所以似乎破解 16 进制也是一种思路


在猜测的过程中有几个思路

1 时间

预期: 订单 id 中一部分是根据时间来决定的

我们先看几个订单信息

订单 id:30 28909 838135013503 订单时间:2018-09-07 08:37 16 进制:2a08d9 732eb 93000

真实 id:3028909 838135013 400 真实时间戳:1536323 859

订单 id:30 28909 744585257087 订单时间:2018-09-07 08:35 16 进制:2a08d9 5d66b 93000

真实 id:3028909 7445852570 00 真实时间戳:1536323 745

订单 id:30 28909 587793784959 订单时间:2018-09-07 08:32 16 进制:2a08d9 38e53 93000

真实 id:3028909 58779378 5000 真实时间戳:1536323 568

时间之差了几分钟,但是似乎没有任何关联

然后对比 2017 的订单,唯一发现只有开头 30 会递减

2 地区 我们发现订单开头,不仅有 30 开头,也有 12 开头 似乎是南北差异

3 商家 id 这个也没有任何关联,上面 163095956

4 个人 id 这个可能最小

5 随机数 这个只能说是其中一部分


尝试暴力破解了一下,假设 5 个位置随机 15 个字符组合。那可能是 5 的 15 次方,可能要天荒地老 所以,尝试 2 位 10 次方,扫了一个晚上,终于扫到一个

最骚的来了,我扫的那个早已经被其他抢最大红包的人抢了(没办法,中国人就是牛 B,你能想到别人早已经用上了)


当然还有很多曲线获取订单 id 的方法,但都是得不偿失。

所以还是想从订单 id 下手

希望大家一起探讨一下

3168 次点击
所在节点    算法
1 条回复
xmsz
2018-11-10 15:32:28 +08:00
养着帖子 顺便打打广告
工作点外卖,可以用用我们的产品,公众号搜索'外卖券助手',没有红包都能领

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

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

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

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

© 2021 V2EX