zoukankan      html  css  js  c++  java
  • 前端发起resultUrl请求,服务端收到后做逆向处理,校验sign后,执行originUrl逻辑

    originUrl=http://test.com:8080/user/alipay_phone?uid=123&amount=21.3
    第0步:
    前后端约定32位密钥KEY
    第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
    stringSignTemp="amount=21.32&key=KEY&nonce_str=abc32&uid=123"
    第二步:签名:
    sign=MD5(stringSignTemp).toUpperCase()
    第三步:拼接、base64编码,生成加密后的url:
    result=Base64Encode(stringSignTemp@sign)
    resultUrl=http://test.com:8080/user/alipay_phone/result
    前端发起resultUrl请求,服务端收到后做逆向处理,校验sign后,执行originUrl逻辑

    密钥的管理可以通过专用的服务器实现

    【微信支付】微信小程序支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=4_3

      

    生成随机数算法

    微信支付API接口协议中包含字段nonce_str,主要保证签名不可预测。我们推荐生成随机数算法如下:调用随机数函数生成,将得到的值转换为字符串。

  • 相关阅读:
    JSP总结1
    EL总结2-域
    EL总结1
    getRealPath和getContextPath
    mybatis获取参数数值的两个方式
    进程与线程区别与联系
    进程间通信和线程间通信的区别
    STRLEN
    二叉树数据结构和算法
    TYPDEF使用注意部分
  • 原文地址:https://www.cnblogs.com/rsapaper/p/9745017.html
Copyright © 2011-2022 走看看