移动端支付,通过RSA非对称加密
移动端支付,通过RSA非对称加密
RSA 是一种非对称的签名算法,即签名密钥(私钥)与验签密钥(公钥)是不一样的,私钥用于签名,公钥用于验签。
在与支付宝交易中,会有 2 对公私钥,即私钥。
商户公私钥:由商户生成,商户私钥用于对商户发往支付宝的数据签名;商户公钥需要上传至支付宝,当支付宝收到商户发来的数据时用该公钥验证签名。
支付宝公私钥:支付宝提供给商户,当商户收到支付宝发来的数据时,用该公钥验签。
2.流程
a. 移动端用验签,成功后进行支付操作;
b. 用户支付成功后,支付宝服务器用支付宝私钥签名回调数据并回调商家服务器(回调URL),同时支付宝客户端回调商家客户端;
c. 商家服务器用支付宝公钥验签,成功后更新商家订单状态等。客户端也一样验证。但是必须以服务器验证作为根据,更改订单状态。