您的位置:首页 > 其它

第三方支付对接流程

2017-10-25 09:38 232 查看
转载请注明出处 http://www.paraller.com
原文排版地址 点击获取更好阅读体验

第三方支付

1、简单加密

目的是为了保证上传的参数信息没有被篡改,主要分成三部分

接口参数 : 需要和第三方对接的参数

加密类型 : 使用什么类型加密,一般为MD5

加密密文 : 使用接口参数和第三方生成的Code值(固定salt),进行MD5加密成密文

Md5作为数字签名 H(A)=P  已知A P,在特殊情况下可以伪造A1 满足H(A1)=p


2、生成加密的密钥Key

随机生成16位的加密密钥Key,用于对上一步的内容进行对称加密

3、使用证书加密密钥Key

对随机生成的密钥key进行加密。防止在传输过程中被截获破解。

使用了三种加密算法:

摘要算法:验证原文是否被篡改

对称加密算法:使用密钥对原文进行加密(AES)

非对称加密算法:对密钥进行分发

两方的处理步骤

发送方

入参 H(入参 分配的code)= P 得到键值对 ParamMap

AES ( ParamMap 随机生成的Key ) 进行对称加密得到 DecodeString

随机生成的Key 私钥证书加密, 得到 EnCodeKey

Http发送请求, 将 DecodeString 和 EnCodeKey发送给第三方支付公司

接收方

证书加密的随机数,使用私钥解密得到 Akey

AES(AKey) = sourceCode("入参","P")

验证:H(sourceCode code) = P

一般的接口调用校验流程

请求参数按照参数名字符升序排列,如果有重复参数名,那么重复的参数再按照参数值的字符升序排列。

所有参数(除了sign和sign_type)按照上面的排序用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  安全