最近接了不少第三方的支付接口,大部分的支付接口其实差不多,1.构造参数数据,2.请求签名,3.拼接构造数据和签名。4.触发请求
使用的多了,自然就对对方的操作进行分析,对方拿到我的数据是如何从我传递的参数中进行验签,以及参数解析
这就有了本文的主体,如何使用jwt方式进行传递和解析数据
基本流程如下:
1.分别对header和payload数组进行decode,然后使用base64进行编码。
2.将编码后的数值,使用.进行拼接。得到预签名的值。
3.使用md5 对预签名的字符串进行加密,此处,在加密的过程中,需要放入对方的身份认证的参数,避免被截获和破解。
4.将预签名的字符串和签名通过.进行拼接。生成token。
5.使用token 触发请求业务
解码过程:
1.获取token,以.分割成不同部分。因为md5为不可逆加密,所以,服务器端使用md5对预加密字符串进行加密,通过对比上传的签名,检测签名是否正确。
2. 使用base64_decode()分别解密header和payload。得到传递的参数
网友评论