【签名验证】支付宝即时到帐验证体系

有时候,作为服务的提供者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的字段会根据字段名的字母排序

然后,客户端会把 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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值