V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xmsz
V2EX  ›  算法

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

  •  
  •   xmsz · 2018-11-10 12:05:00 +08:00 · 3143 次点击
    这是一个创建于 1965 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    然后有几个难点还没想到攻破,其中一个就是如何获取饿了么的订单 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 下手

    希望大家一起探讨一下

    1 条回复    2018-11-10 15:32:28 +08:00
    xmsz
        1
    xmsz  
    OP
       2018-11-10 15:32:28 +08:00
    养着帖子 顺便打打广告
    工作点外卖,可以用用我们的产品,公众号搜索'外卖券助手',没有红包都能领
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1207 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 132ms · UTC 18:12 · PVG 02:12 · LAX 11:12 · JFK 14:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.