zoukankan      html  css  js  c++  java
  • 【签名验证】支付宝即时到帐验证体系

    有时候,作为服务的提供者S,须要保证与客户C间交易的可靠性和安全性。

    这样的可靠性和安全性表如今:

    (1)S 拒绝全部非C的请求。

    (2)防止非C伪造C的请求。


    支付宝作为国内最大的在线第三方支付服务。在这方面是怎样保证上述的可靠性和安全性的?

    1. 使用Https安全连接,保证通信协议安全。

    2. 使用签名密钥校验。(与加密密钥不同)


    例如以下图为支付宝和客户间的马上支付体系流程


    首先,商户通过注冊帐号会获得一个客户专有的签名密钥key,(好像是32位)。

    客户准备好 orderInfo(订单信息),returnUrl(成功后跳转链接),vendorId(客户ID);

    客户发送时签名sign为:

    sign1 = MD5(orderInfo+returnUrl+vendorId+key);  非key的字段会依据字段名的字母排序

    然后,client会把 orderInfo, returnUrl, vendorId, sign 一起post到支付宝服务端。

    支付宝获取到请求后:

    (1) 依据vendorId从自己的数据服务内获取该商户的签名密钥key2。

    假设合法。key1 = key2 否则不想等,或者不存在

    (2) 计算 sign2 =  MD5(orderInfo+returnUrl+vendorId+key2); 

    (3) 假设 sign1 == sign2 则处理请求,否则返回错误。

    (4) 成功后重定向到 returnUrl。返回商户页面。


    逻辑并不复杂,你也能够使用它在自己的服务中~


    附接口文档地址:

    http://wenku.baidu.com/link?url=aCtpvRAXhqqiLQZbvRPwZYP6jx_d_7h18Ea_zsN1JhzjFDW99UXamI-0L3kUdZ7vvN_1AcWEzAjzXrspHJZ5yFbbiKgl8wxCW4CtfAf-4mq

  • 相关阅读:
    【BZOJ 4151 The Cave】
    【POJ 3080 Blue Jeans】
    【ZBH选讲·树变环】
    【ZBH选讲·拍照】
    【ZBH选讲·模数和】
    【CF Edu 28 C. Four Segments】
    【CF Edu 28 A. Curriculum Vitae】
    【CF Edu 28 B. Math Show】
    【CF Round 439 E. The Untended Antiquity】
    【CF Round 439 C. The Intriguing Obsession】
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6794722.html
Copyright © 2011-2022 走看看