收藏
回答

微信支付加密方式是不是把HMAC-SHA256干掉了

上周在做微信支付时,加密方式选择了HMAC-SHA256,使用JSAPI的统一下单接口,可以正确地跑通,拿到返回数据,今天突然跑不通了,一直报签名错误,一模一样的代码,只是把加密方式改成MD5,就通过了。难道是微信把这个加密方式干掉了?

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

2 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    2019-08-02

    没有,应该还是可用的。

    2019-08-02
    有用
    回复
  • 红萝卜炒鸡蛋
    红萝卜炒鸡蛋
    2019-11-27

    花了好几天时间挖坑,终于搞定HMAC-SHA256签名,可以使用,这里面有个坑,用默认的MD5时,签名里无需加入sign_type字段就可以验证通过,改成HMAC-SHA256后需加入sign_type,并且要注意参数名称排序顺序,后面的pay_sign也一样。我改的程序之前是别人开发的,我中间接进去将原先的MD5改成HMAC-SHA256,根本就不会去想签名参数少了,以为原先MD5可以了应该参数都没问题的,哎。。。这个参数为什么不直接搞成必须填的呢?为了省这一个参数,挖了一个好大的坑,我估计很多人都被这坑坑惨了!


    2019-11-27
    有用 2
    回复 8
    • 周T_T
      周T_T
      04-13
      请问sha256支付后面的key值用的是哪一个参数?
      04-13
      回复
    • 红萝卜炒鸡蛋
      红萝卜炒鸡蛋
      04-13回复周T_T
      key为商户平台设置的密钥key
      04-13
      回复
    • 有梦想不睡觉
      有梦想不睡觉
      07-30
      请问层主.sign_type=HMAC-SHA256 这个需要加入排序吗,我试了下都说签名不对,那到底加不加
      07-30
      回复
    • 红萝卜炒鸡蛋
      红萝卜炒鸡蛋
      07-30回复有梦想不睡觉
      要的,sign_type='HMAC-SHA256'
      07-30
      回复
    • 有梦想不睡觉
      有梦想不睡觉
      07-30回复红萝卜炒鸡蛋

      ssss331529243621wx7be0736b916a50f1111oiW0l03-60UfHJfo0olLt3wOLb0E10012222118.89.65.2233333321ss111905Qh0J59d69JjDtD7QkyRAm576kh5hUHMAC-SHA256F3CE6B2EB6869FFBEE99DDEC6EB04DE93D91ABD68BDB50E237685571098E9432
      07-30
      回复
    查看更多(3)
登录 后发表内容