接口开发
API接口是什么
接口:预先定义的函数逻辑,供其他系统请求,然后返回结果
为什么需要API接口
核心需求:利用现有接口降低开发成本,缩短开发时间
API接口的核心是什么
- 接口地址
- 请求参数(报文)
- 返回结果
API接口的基本交互是怎么样的?
API接口应用实际上是系统间通讯的过程,A向B传输参数,B向A返回结果
API接口为什么需要进行签名加密
任何处于开放环境的数据传输都可以被截取,甚至被篡改。数据传输过程中会存在极大的危险,因此需要进行加密
加密核心解决两个问题:
-
签名验签
-
加密解密
API接口如何进行签名验签和加密解密
对称性密码:加密人以A方式进行加密,解密人用A方式进行解密
缺点:容易发现密码规律,并不安全
非对称密码
公私匙的非对称加密+session key对称加密
- 当A向B发送信息的时候,不需要用到B的公私钥。
- A用自己的加密方法b加密签名和一条空信息,因为信息无关重要,被破解了也没关系,B利用解密方法b验证了是A发来的信息。
- 这个时候,接收者B用发送者A的加密方法a,加密一个有时效的加密方法给A(相当于告诉A,这2个小时,我们用这个暗号进行沟通),因为只有A有解密方法,所以别人获取了也不能知道session key是什么。
- A接收到session key了以后,A用这种有时效的加密函数发送重要信息,签名仍用加密方法b加密,B用同样一个加密函数解密(实际上变成了对称加密,大家都用同样的方式加解密)
- 2小时后,再重复第2步,更新加密方法。
总结:
1.当B向A发出临时有效的加密方法之后,通讯的过程将变成为对称加密
总结:
1.当B向A发出临时有效的加密方法之后,通讯的过程将变成为对称加密
2.此类加密方式的核心思想是时效性,必须在短时间内更新,否则固定的加密规律容易被获取破解