V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
工单节点使用指南
• 请用平和的语言准确描述你所遇到的问题
• 厂商的技术支持和你一样也是有喜怒哀乐的普通人类,尊重是相互的
• 如果是关于 V2EX 本身的问题反馈,请使用 反馈 节点
andyfan
V2EX  ›  全球工单系统

阿里大于短信签名生成算法问题

  •  
  •   andyfan · 2017-02-06 13:41:18 +08:00 · 2953 次点击
    这是一个创建于 2854 天前的主题,其中的信息可能已经有所发展或是发生改变。

    阿里大鱼短信服务的时候发送短信 API 的 sign 值出现了点问题,按官方算法说明提供的流程算不出来正确的签名.用过他们服务的朋友们请帮忙看一下.附有过程截图和必要说明.

    http://imgur.com/a/9z3d2

    ##附上原始文本供验证:

    http://gw.api.taobao.com/router/rest?
    sign=740821BAD01407C023C858F8228A241D
    &app_key=23620232
    &format=json
    &force_sensitive_param_fuzzy=true
    &method=alibaba.aliqin.fc.sms.num.send
    &partner_id=top-apitools
    &rec_num=13119803510
    &sms_free_sign_name=%E5%AF%86%E7%A0%81%E6%9C%8D%E5%8A%A1
    &sms_param=%7B%22passw%22%3A%221234%22%7D
    &sms_template_code=SMS_44400491
    &sms_type=normal
    &timestamp=2017-02-06+12%3A18%3A42
    &v=2.0
    

    APP Secret 为:6356bf471c1c7b96a09d00ecee2a7d6e

    阿里官方文档:http://open.taobao.com/docs/doc.htm?articleId=101617&docType=1&treeId=1#s4

    8 条回复    2017-02-07 19:42:41 +08:00
    andyfan
        1
    andyfan  
    OP
       2017-02-06 13:49:51 +08:00
    谁能帮我 @两位阿里的同学过来看看
    sujin190
        2
    sujin190  
       2017-02-06 13:56:40 +08:00   ❤️ 1
    计算签名是的各个参数值不要做 urlencode ,签名完,请求的时候再编码,话说你干嘛不使用它们的 sdk ,如果没有特殊要求的话,比如要使用协程之类的
    andyfan
        3
    andyfan  
    OP
       2017-02-06 14:10:37 +08:00
    @sujin190 不用 SDK 是因为我用 Python 开发, 阿里提供的 SDK 版本跟我这边的环境不一致, 应用场景比较简单, 专门为这个迁移版本就很没必要了.我刚刚还发现图上的排序 format 和 force...是排错了的, 我修正过来以后不经过 urlencode, 还是算不出来那个值.
    sujin190
        4
    sujin190  
       2017-02-06 14:32:37 +08:00
    @andyfan 哦, python 的还要注意编码,最好使用 unicode 连接字符串, hash 之前再编码成 urf-8
    horsley
        5
    horsley  
       2017-02-06 14:53:22 +08:00   ❤️ 1
    之前我用 go 写也遇到了,后来发现是一处文档没写清楚带来的问题,后来已经实现了可用版本,如果 lz 需要留下 mail
    andyfan
        6
    andyfan  
    OP
       2017-02-06 16:22:16 +08:00 via Android
    @horsley 非常感谢,我的邮箱是 andyfan98#163.com ,他们文档哪一个地方容易引起误解的可以指点一下吗?
    horsley
        7
    horsley  
       2017-02-07 19:40:48 +08:00
    @andyfan 我也不是记得很清楚,大半年前写的代码。死活签名调不通,换了别的供应商,后来忘了改了啥之后就可以了,代码发你邮箱参考下。
    horsley
        8
    horsley  
       2017-02-07 19:42:41 +08:00
    https://www.v2ex.com/t/299097#reply10 我之前也在问签名
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   938 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:47 · PVG 05:47 · LAX 13:47 · JFK 16:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.