美文网首页
【融职培训】Web前端学习 第11章 微信开发3 微信签名规则

【融职培训】Web前端学习 第11章 微信开发3 微信签名规则

作者: lmonkey_01 | 来源:发表于2020-07-09 14:46 被阅读0次

一,概述

为了让微信接口的调用更加安全,微信服务器要对支付接口和JS-SDK接口进行加密和校验。因此开发调取微信支付和JS-SKD接口,必须了解微信签名的规则。

二,规则

确定参与签名的分段,例如ncencestr,timestamp等。

对所有待用签名参数遵循分段名的ASCII码从小到大排序(字典序)后,使用URL键值对的格式(即key1 = value1&key2 = value2 ...)拼成字符串。这里需要注意的是所有参数名册小写字符。

接下来对拼接好的字符串作sha1加密,分区名和分段值都采用原始值,不进行URL转义。即signature = sha1(string1)。

通过上面的三步,就可以拿到签名的结果签名。

三,node中的签名算法。

在node中,通过下面的算法,可以得到签名结果。

getSign (signParams ) {

  varkeys  =  Object 。键(signParams );

  键 =  键。排序();

  varnewArgs  =  { } ;

  键。forEach (函数 (val ) {

      if  (signParams [ val ] ) {

          newArgs [ val ]  =  signParams [ val ] ;

      }

  } )

  varstring  =  queryString 。stringify (newArgs );

  返回 加密货币。createHash ('sha1' )。更新(的queryString 。UNESCAPE (串), 'utf-8' )。 摘要(“十六进制” );}

上诉算法可以将一个单独的集合按照签名规则计算出签名结果,参数为一个对象,对象中包含了所有分段,示例如下所示:

1{ 2  jsapi_ticket:jsapi_ticket ,3  timestamp:timestamp ,4  noncestr:nonceStr ,5url:“ http://www.eduwork.cn/phone” 6}

三,总结

本章讲解了微信签名的目标和方法,了解了签名,我们便可以在后续的章节中调用JS-SDK和微信支付接口了。

【融职教育】在工作中学习,在学习中工作

相关文章

网友评论

      本文标题:【融职培训】Web前端学习 第11章 微信开发3 微信签名规则

      本文链接:https://www.haomeiwen.com/subject/lizjcktx.html