API接口签名验证

API接口分为开放接口和私密接口。

什么是开放接口?

只要别人申请到你的key和secrte就可以使用你的接口,例如支付宝,微信这些都是开放接口。

什么是私密接口?

我自己写的接口,只给我自己的APP使用,这就是私密接口,不给别人用。


我们一个一个介绍它们签名的验证,先介绍开放API接口。

下面我们称呼发布接口方为:API

使用接口方为:APP

1.开发APP的技术人员从开发API的人那里申请到key和secrte

2.APP将要传递的参数和对应值,例如:

arg1=value1,name=fdfd,age=12

按照参数名的字母前后顺序进行重新排序;

3.然后再将排序好的参数,加上secrte、加上当前时间戳timestamp,使用md5加密得到一个一个加密字符串;

4.现在就只需要将加密好的md5值、key、排序好的参数、时间戳传递到接口

接口方API:

1.先根据传递来的key来验证用户的合法性,同时得到这个用户对应的secrte

2.根据用户传递的参数和secrte以及时间戳ton同样进行md5加密

3.最后比对APP传递的md5值和我们自己计算的md5值是否相同

如果不正确的话说明参数被篡改,或者失效

 


私密接口:

私密接口就是省掉了验证key这一部分,当然也不需要传递key

直接在接口端和APP端约定好secrte就可以了。


 

 

可以看到整个过程,最重要的就是保护好那个secrte不要被泄漏,就可以保证数据传输的安全性

 


 

posted @ 2016-04-11 16:14  愚公搬砖  阅读(454)  评论(0)    收藏  举报