对称加密md5
单向加密,双方共用一个秘钥。rsa双向加密,双方各自都有自己的公钥和私钥。
代码层面
双方加密和解密,都是使用同一个秘钥。
对称的意思是,双方使用同一个密码/秘钥。
1.A——B
A加密内容,B解密内容 //使用的是同一个密码
2.B——A
B加密内容,A解密内容 //使用的是同一个密码
非对称加密RSA
商家有公私钥对,通道也有公私钥对,分别告诉对方自己的公钥。
具体是,商家后台自助配置,或通道手动在通道总后台配置。
私钥各自自己保有,不能透露给任何人。
代码层面
商家用通道的公钥加密/签名请求参数,然后发送请求。
通道接收数据,用通道自己的私钥解密/验签数据;然后,再用商家的公钥加密数据发送响应数据。
商家用自己的私钥解密返回数据。
非对称的意思是,双方使用不同的公钥和私钥(注意,是公钥和私钥都不同)。
总结
对称和非对称指的是,加密和解密是否使用的是同一个密码。
为什么私钥可以解密公钥解密的数据?
欧拉函数 欧拉定理 互为质数
如何告知对方自己这边的公钥和私钥?
1.支付公司——商家
邮件发送,或注册账号申请
2.商家——支付公司
支付公司后台配置自己的公钥
总结
反正就是只能告诉对方自己这边的公钥,而不能告诉自己这边的私钥。
然后,加密的时候,都是使用对方的公钥去加密内容,对方接受数据之后,对方使用对方自己的私钥解密数据。
如何确保安全?或者说,安全包括哪几个方面?
如何确保安全
1.https确保网络传输过程加密安全
2.接收端接受到数据,通过验证签名来判断是否是准确用户的数据
签名字段的值=请求数据 + 秘钥
支付指令流程
1.发送端
请求数据
拼接数据
签名
发送
接受响应数据
验证签名 //数据验证通过
返回数据
2.服务器
接受数据
验证签名
响应数据
支付流程
1.支付 //订单未支付
2.查询 //更新订单支付状态为成功
3.验证签名
支付业务
算账和给钱
清算和结算
收银台和付款方式
1.收银台
包括很多支付方式,比如,扫码、h5、快捷支付
2.付款方式
扫码 //分app原生或H5
h5