支付系统
一、基本概念
1、加密
①对称加密
- 什么是非对称加密
那非对称加密就是,不对称,所以叫。
- 非对称加密的流程
举个例子:
还是发送方想要发送一个明文数据,它的这个明文数据呢先用 密钥A 加密成一段不认识的密文。
然后密文经过 络传输到达接收方,到达接收方以后呢,接收方用 密钥B 进行解密,得到明文。
这样,即使有人在传输途中将发送者的密文截取,并且那个人也知道发送方的这个密钥。他也解不出这个密文。
所以这个。
但如果说有一个黑客,如果知道了这个接收方的密钥,那么他就可以进行自由的解密,但是他却不能模拟完整的通信。
完整的通信,就是接收方又要给发送方发数据。
所以为了安全期间,我们单向的第一项流程,我们使用 A、B 两把密钥。
就是发送方,要发送数据的时候,用一把密钥加密,接收方收到以后再拿另外一把密钥来解密。
然后,接收方再给发送方要传数据的时候,就再来造上两把密钥。
接收方拿 密钥C 进行加密,发送方拿 密钥D 来进行解密。
这样相当于另外一项的这个流程,那又是一个安全的。
黑客除非完全知道我们这四把密钥,否则就不能模拟完整的整个通信过程。
所以我们就使用非对称加密来做整个金融级别的数据加密。
2、公钥、私钥
①什么是公钥、私钥
接下商户比如想要支付一个订单,把这个订单进行一个加密,加密成一串不认识的字符直接传过去,支付宝再进行解密。
但是我们觉得这样太麻烦了,支付宝还要解密。
包括我们加密的这串密文,如果别人一直能到拿这串密文,把这串密文截取来了,别人直接把这个密文发出去,相当于伪造这个数据。
那这个可能也有点不安全。
所以商户在传的时候。为了支付宝使用方便,把明文传给支付宝,但是在明文后边,他用私钥再给你加一个签名
最后将这个明文和这个签名全部传出去出去,把他们作为一个整体数据在 络间传输。
支付宝验证完了以后,觉得这是对的。然后进行支付。支付完了以后呢,
假设支付成功了,支付宝接下来就得告诉我们这个商户成不成功。
比如支付宝有一个信息叫,告诉你支付成功,以及此次的交易流水。
接下来把整个数据再传输给商户。
我们就除了走正规流程外,我们测试期间还可以做内 穿透,
内 穿透,
我们去内 穿透的服务商,下载一个软件。
软件只要一启动。我们的软件跟内 穿透服务商就会建起一个长链接,是永远在的。
然后内 服务穿透的这个服务商还会为我们这个软件临时给一个域名,这个域名呢可能很长是一个随机的域名,这个域名也不需要备案。
因为这个域名呢是服务商的二级或者三级域名。
也就是说服务商比如是 jd.com 或 hello.com,他绑定一个域名备好案以后,他下边的这些二三级域名无论多少级。
无论生成多少个域名都是无需备案的。
所以他为我们临时分配一个域名,分配好域名以后,别人想要访问我们,使用 haha.hello.com 来访问我们,
因为 haha.hello.com 属于 hello.com 旗下,所以别人会先 ping 通 hello.com。知道他的 IP 地址,
所以别人访问我们的一切请求,先会到达内 穿透的服务商,然后内 穿透服务商一看是访问 haha.hello.com
发现这个域名是之前分配给我们的域名,所以,他将所有的请求相当于透过这个传输通道,然后直接传给我们的电脑,那就实现了别人能访问我们电脑,
比如我们电脑里边,我们部署了我们商城 站,别人通过这个域名能直接访问到我们电脑的商城 站,这样我们在测试期间那就比较好用了。
4、使用场景
- 开发测试(微信、支付宝)
- 智慧互联
- 远程控制
- 私有云
5、内 穿透的几个常用软件
- natapp:https://natapp.cn/
- 哲西云:www.zhexi.tech
- 花生壳:https://www.oray.com/
三、整合支付宝
1、整合支付宝支付
https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java
- 引入依赖
- com.achang.achangmall.order.vo.PayVo
- com.achang.achangmall.order.conf.AlipayTemplate
在配置文件中配置对应的下面属性信息
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!