一、简介
“加密”的过程,就是把“明文”变成“密文”的过程。反之:“解密”的过程,就是把“密文” 变为“明文”。网页数据加密的方式有很多种,比如:JS 加密、Base64 加密、CSS 加密等。
下面让我们一起来探讨一下JS加密!并借助于案例感受解密思维逻辑。
JS加密:是一个非常常见的加密,大部分的页面都会存在
JS加密一般都是对参数进行加密(比如:salt、sign、token、signature等)
JS加密的分析步骤:
- 找到哪些参数在影响数据的获取?
需要做不同的请求,对比参数,找出不同的参数即可 - 找到参数之后,需要查找这些参数从哪里获得的/生成的原理是什么?
(1) 这些参数可能是通过之前的一些请求传递过来的
(2) 参数是在某个JS文件中生成的 —> 找出对应的JS文件,分析JS代码,得到参数生成的原理
二、案例:有道翻译
需求:用户输入,得到翻译
步骤一:常规操作。找到url,简单分析
代码:
import time,random
import requests,hashlib
# 定义请求头
headers = {
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Connection': 'keep-alive',
'Content-Length': '236',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Cookie': 'OUTFOX_SEARCH_USER_ID=986208581@10.108.160.102; JSESSIONID=aaaLdHZ6LoWe0bYE2Fiyx; OUTFOX_SEARCH_USER_ID_NCOO=1300305255.7828863; SESSION_FROM_COOKIE=unknown; ___rl__test__cookies=1606460419940',
'Host': 'fanyi.youdao.com',
'Origin': 'http://fanyi.youdao.com',
'Referer': 'http://fanyi.youdao.com/',
'User-Agent': 'Mozilla/