开放api:
平台一般会提供appid、appkey和appsecret,appkey和appsecret是同时生成的,同一个id可以有多对appkey和appsecret,这种情况下可以分配不同接口权限,权限配置与appkey关联。
这种情况下,为了防止key和secret被穷举破译,需要进行加密。
根据解密方如何获取加密的密钥,分为对称加密和非对称加密。
- 对称加密:加密和解密使用相同的密钥,常见的对称加密算法有DES,AES,3DES等,对称加密效率高,但是安全性较低。
- 非对称加密:加密和解密用不同的密钥,如RSA等,效率会低一点,但是安全性高,就算密文被截取,即使被截取也不能解密。
RSA算法:
生成两个密钥(公钥和私钥),传输数据通过通过公钥加密后生成的密文,密文公开能看到,但无法解密,想要解密就只能用私钥,解密后才能获取请求数据,然后进行数据处理,反之也可以用公钥加密,私钥解密。