V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sunjourney
V2EX  ›  问与答

微信 signature 算法中的 nonceStr 有什么用?

  •  
  •   sunjourney · 2016-04-12 14:36:15 +08:00 · 9193 次点击
    这是一个创建于 3151 天前的主题,其中的信息可能已经有所发展或是发生改变。

    nonceStr 其实已经是公开的部分了,感觉生成 signature 的时候微信和自己的服务器都可以不用它,那么它的存在意义是什么呢?

    6 条回复    2016-04-12 21:46:56 +08:00
    JiShuTui
        1
    JiShuTui  
       2016-04-12 14:52:31 +08:00   ❤️ 1
    可以保证每一次的请求生成的签名都不一样,因为如果没有这个的话,同一时刻生成的签名是一样的
    sunjourney
        2
    sunjourney  
    OP
       2016-04-12 14:56:10 +08:00
    @JiShuTui 这个应该是 timestamp 保证的吧
    pubby
        3
    pubby  
       2016-04-12 14:59:18 +08:00 via Android   ❤️ 1
    @sunjourney timestamp 还是可能重复的,如果多台服务器,可能性会增大
    cevincheung
        4
    cevincheung  
       2016-04-12 15:00:42 +08:00
    @JiShuTui 还有一个作用就是作为 request_id 使用
    sunjourney
        5
    sunjourney  
    OP
       2016-04-12 15:03:51 +08:00
    @pubby nonceStr 这样确实有道理,感谢!
    SoloCompany
        6
    SoloCompany  
       2016-04-12 21:46:56 +08:00
    主要的目的是防止重放攻击
    带来的 bonus 就是可以实现安全重发
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3138 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:46 · PVG 21:46 · LAX 05:46 · JFK 08:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.