前情回顾
书接上回,在前几期中我们已经成功取到了除_signature以外的所有参数,从本文开始分析_signature参数的作用及获取逻辑。
参数含义
通过字面意思可以确定_signature参数是接口调用的签名,用来验证接口访问来源的合法性。
_signature参数来源及分析
首先我们还是从调试工具中进行源代码搜索进行分析;
通过搜索 我们发现 _signature是在index.98ac6f5d.js
文件1289行进行赋值的。
我们顺着data['_signature'] = signature; // 作用参见readme@注释1
顺藤摸瓜继续往前找。 我们再1482行找到了这句代码: signature = (0, _bytedAcrawler.sign)(nonce);
。
由上下文判断nonce这个参数是sec_uid,signture是计算所得出的,应该存在加密的算法,我们继续找。 再996行找到了这句代码var _bytedAcrawler = __webpack_require__("9bd2804c7e68ac461d65");