首页 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 » 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践全文在线阅读

《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》14.1.2 JS-SDK签名

关灯直达底部

签名生成规则为,参与签名的字段包括noncestr(随机字符串)、有效的jsapi_ticket、timestamp(时间戳)、url(当前网页的URL,不包含#及其后面的部分)。对所有待签名参数按照字段名的ASCII码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2……)拼接成字符串string1。这里需要注意的是,所有参数名均为小写字符。对string1进行sha1加密,字段名和字段值都采用原始值,不进行URL转义。

以下述数据为例讲解如下。


noncestr=Wm3WZYTPz0wzccnWjsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qgtimestamp=1414587457url=http:// mp.weixin.qq.com?params=value  

步骤1:对所有待签名参数按照字段名的ASCII码从小到大排序(字典序)后,使用URL键值对的格式拼接成字符串string1。


jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http:// mp.weixin.qq.com?params=value  

步骤2:对string1进行sha1签名,得到signature。


0f9de62fce790f9a083d5c99e95740ceb90c27ed