<aside> 😀 某宝cookie sign签名模拟
</aside>

通过搜索关键字 sign:,定位到如下所示的代码位置。在该位置设置断点后,刷新页面可以成功拦截请求,由此确认了代码的具体位置。

分析实现算法
代码中代码可简化成如下伪码:
`// p 是一个函数,传入参数 e,通过调用 function(e){} 对输入的字符串进行处理 // 其中 function(e){} 是具体的加密算法,text 是待加密的字符串 // 最终输出结果是一个 32 位的十六进制密文
// 将代码拆分成两部分分别进行分析 _hadoken = function(e){} // 定义加密算法的具体实现 text = o.token + "&" + a + "&" + s + "&" + n.data // 拼接字符串作为待加密的输入`
函数分析
根据加密后字符串的特性,推测该算法为 MD5。将函数赋值给 _hadoken 变量后,对测试字符 "1" 进行加密,发现其加密结果与标准 MD5 算法的输出一致,因此可以确认该函数实现的是标准的 MD5 算法。

接下来对参数
o.token + "&" + a + "&" + s + "&" + n.data
的值进行分析,其实际值如下图所示:

观察得知:
o.token为cookie里面的_m_h5_tk参数,访问网站后会自动获得,且值短期内不变。

a 是时间戳,可以直接生成。s 是 appKey,用于标识应用 ID,固定值为 12574478。