python学习交流公众号 Hello Python上线啦,欢迎关注
一:什么是js参数加密
js参数加密是在请求中对部分参数进行加密,或引入新的加密参数,从而你保障接口安全,增加接口破解难度,特别一些无登录的网站。本文将以有道翻译的js加密实现为例(http://fanyi.youdao.com/)
有道翻译js加密逻辑
有道翻译请求参数如下:
其中的salt,sign,lts都是js 加入的参数。其加密方法的js代码在其main.js 摘取部分如下:
function(e, t) {
var n = e("./jquery-1.7");
e("./utils");
e("./md5");
var r = function(e) {
var t = n.md5(navigator.appVersion),
r = "" + (new Date).getTime(),
i = r + parseInt(10 * Math.random(), 10);
return {
ts: r,
bv: t,
salt: i,
sign: n.md5("fanyideskweb" + e + i + "]BjuETDhU)zqSxf-=B#7m")
}
};
如此便完成了js加密,不懂js 的需要花功夫去破解相应参数了,而:"]BjuETDhU)zqSxf-=B#7m"是可定期替换的字符串。
在爬虫栏目有相应爬虫破解教程哟