时间:2021-07-01 10:21:17 帮助过:9人阅读
如图,在做服务器给第三方授权的时候,申请接口授权的一方往往要获得APPKEY和APPSecret,它们一般都是根据什么算法生成的?可以的话有代码示例更好了,谢谢!
如图,在做服务器给第三方授权的时候,申请接口授权的一方往往要获得APPKEY和APPSecret,它们一般都是根据什么算法生成的?可以的话有代码示例更好了,谢谢!
通常情况下,这种很长一段数字字母的key和secret都是通过md5和sha1加密算法来生成的
(当然也可以完全随机生成,有另外一个uuid算法)
其原始数据有可能是你的账号的id,还有注册时间之类的唯一值进行组合再通过md5和sha1来生成,
而md5和sha1对比的话,md5比sha1更快,但sha1比md5强度更高,所以在此类授权应用里,通常都使用sha1算法,例如oauth的签名算法
而为什么会有appkey和appsecret才能保障授权成功呢?
例如要和微信通信里,要传递三个参数ABC,则需要将ABC与appsecret一起sha1一遍,得到一个签名串,然后将这个签名串与appkey一起传递给微信,
此时,微信会通过appkey去查找对应的appsecret,然后再将ABC参数与查询出来的appsecret做一遍相同的签名算法,如果得到的签名串一致,则认为是授权成功
这个过程中的关键就在于,appsecret的保密性