收藏
回答

请问支付校验接口中的sign生成文档是否正确

https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=4_3 请看该文档中的 《第二步:拼接API密钥:

sign=hash_hmac("sha256",stringSignTemp,key).toUpperCase()="6A9AE1657590FD6257D693A078E1C3E4BB6BA4DC30B23E0EE2496E54170DACD6"

这里用在哪里,下方示例中的sign根本就是用MD5后的结果

<xml>

<appid>wxd930ea5d5a258f4f</appid>

<mch_id>10000100</mch_id>

<device_info>1000</device_info>

<body>test</body>

<nonce_str>ibuaiVcKdpRxkhJA</nonce_str>

<sign>9A0A8659F005D6984697E2CA0A9CF3B7</sign>

</xml>


回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-07-16

    仔细看下这里。

    2020-07-16
    有用
    回复 3
    • One_Morning
      One_Morning
      2020-07-16
      我的问题是你标记的红线向下数hash_hmac这里,看下问题
      2020-07-16
      回复
    • One_Morning
      One_Morning
      2020-07-16
      而且我在php示例里看到这块的计算是:
          {
              //签名步骤一:按字典序排序参数
              ksort($this->values);
              $string = $this->ToUrlParams();
              //签名步骤二:在string后加入KEY
              $string = $string . &quot;&amp;key=&quot;.WxPayConfig::KEY;
              //签名步骤三:MD5加密
              $string = md5($string);
              //签名步骤四:所有字符转为大写
              $result = strtoupper($string);
              return $result;
          }
      请问下,那么这个sha256在哪里用到呢?
      2020-07-16
      回复
    • 微信支付技术助手8
      微信支付技术助手8
      2020-07-17回复One_Morning
      你可以用MD5也可以用sha256
      2020-07-17
      回复
登录 后发表内容
问题标签