商城支付~支付宝~加密
一个牛逼的网址:http://blog.csdn.net/guozekui778899/article/details/52120019
关于商城支付流程的笔记
官方流程:
在我们的手机支付APP中,完成买东西支付效果.主要设置到就是客户端与服务其之间的交流.
那么我们在手机APP支付过程中,主要涉及到的有:
1.手机商城APP客户端 (淘宝)
2.手机商城APP服务端,即手机商城APP服务器.(这些大型的,应用广泛的APP几乎都有自己的服务器)
3.支付APP客户端(支付宝,微信支付)
4.支付APP服务端.
所有的支付逻辑处理,在电商本身的APP里进行处理,但是要集成支付宝的 //这个
智能SDK,也就是JAR包,这种方式最常用
原理:电商App向服务器发送请求,电商服务器生成订单信息后,返回给电商APP,
电商APP支付时,调用集成支付宝的智能SDK就可以了,然后智能SDK完成支付,
支付宝服务器就会把成功支付的数据反馈给电商APP和电商服务器。
大致流程: 支付APP官网流程解析
手机商城APP客户端(发支付请求)-->支付APP客户端(接收请求,构建业务,交易业务)-->
支付APP服务端(完成业务即交易支付)-->发通知--->同步通知支付APP客户端,支付APP客户端再发给手机商城APP客户端,表示完成
---->异步通知商城APP服务端.(即开始对订单进行处理,便于立即发货啊啥的)
同步异步:
同步:发送发发出数据后,等待接收方发出回应后,在进行下一步的操作. //人性化
异步:发送方发出数据后,不等待接收方回应,接着进行下一步的操作.
这里涉及到如果支付宝服务器发送7次通知给电商服务器,而电商服务器没有告诉支付宝服务器“我收到了”,支付宝把钱退回用户的支付宝上。这个规则类似于Socket的三次握手原则.
网址:http://blog.csdn.net/ithomer/article/details/53401963
如果要进行退款操作,可以在这取消这个通知的发送.在做这些操作之前,需要确定你的订单号,是否已经被处理.处理了的画就需要更多操作,比如说和商家沟通退货啥的,如果没受理的话,可以中断交易业务.完成退款.
你的公钥和支付宝公钥的交互:
你在支付宝官网进行应用创建的时候,支付宝就会要求你把你的公钥给支付宝,然后支付宝也会给你一个他的公钥。
在进行支付信息加密解密的时候:
先用base64加密一下这个信息,然后要用支付宝的公钥进行加密一下,最后用你的私钥加密一下这个支付信息,然后给支付宝服务器发送过去。
同理,在解密的时候:
先获取支付宝的加密字符串,然后在用你的私钥解密,再用支付宝的公钥解密,最后用base64解密,获取到支付信息
支付宝的三种支付流程
1.所有的支付逻辑处理,全在服务器完成,现在被淘汰了
原理就是电商App吧所有的信息提交给电商服务器,然后又电商服务器与支付宝服务器进行交互
2.所有的支付逻辑处理,是电商APP调用手机的支付宝客户端,然后由支付宝客户端和支付宝服务器进行交互处理。
原理就是电商APP向电商服务器发送请求,然后电商服务器生成订单信息
后,返回给电商APP,电商APP进行付款时,需要进行判断用户有没有支付宝客户端。
如果没有,则不能支付,提示用户下载支付宝。如果有则调用支付宝客户端进行支付。
然后支付宝服务器会把成功支付的数据反馈给电商APP和电商服务器。
3.所有的支付逻辑处理,在电商本身的APP里进行处理,但是要集成支付宝的 //这个
智能SDK,也就是JAR包,这种方式最常用
原理:电商App向服务器发送请求,电商服务器生成订单信息后,返回给电商APP,
电商APP支付时,调用集成支付宝的智能SDK就可以了,然后智能SDK完成支付,
支付宝服务器就会把成功支付的数据反馈给电商APP和电商服务器。
加密:
非对称加密算法:RSA是支付宝加密的核心算法,RSA会生成俩种钥匙,公钥和私钥.
上传给支付宝服务器的是自己的公钥,支付宝服务器返回一个支付宝的公钥,注意这个公钥才是你开发中要配置的公钥
对称加密算法:
DES,AES
特点:加密和解密使用同一个密钥
非对称加密算法
RSA
公钥,私钥,成对出现 公钥解私钥,私钥解公钥
加密:就是往数据上加一层保护. 上把锁.
首先密钥:密钥是一种参数,他是在明文转换为密文或密文转换为明文的算法中输入的参数.
密钥分为俩种:
对称密钥和非对称密钥.
在密码学中,
密钥:秘密的钥匙.
私钥:私有的钥匙.
公钥:公开的钥匙.
根据密码算法所使用的加密密钥和解密密钥是否相同,即能否由加密过程推导出解密过程,或者有解密过程推导出加密过程,以此来将密码体制分为俩种:对称密码体制,非对称密码体制.
对称密码体制:
网址:http://blog.sina.com.cn/s/blog_56d8ea900100bzpr.html
对称密钥加密,又叫私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据.它的最大优势是加密速度快,适合于对大量数据进行加密,但密钥管理困难.
常见的对称加密算法有DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
非对称密钥加密,又叫公钥加密.它需要使用不同的密钥来分别完成加密和解密操作.一个公开发布,即公钥,另一个由用户自己秘密保存,即私钥.信息发送者用公钥去加密,而信息接受者则用私钥去解密.非对称密钥加密机制灵活,但是速度慢.
目前最常用的非对称加密算法是RSA算法,是Rivest, Shamir, 和Adleman于1978年发明
- 上一篇: 支付宝有密退款MD5和RSA两种方式
- 下一篇: 支付宝支付接入(安全基础 - 生成公钥、私钥)