在分析一款前端页面时,发现请求头中包含一个随机字符串 random-String。经过深入探索代码,发现算法隐藏在繁琐的变量和函数中,难以理解。页面似乎是使用vue框架开发的,而时间戳是后端渲染到页面的。
通过审查页面源代码,可以找到localtimestamp,该值在mounted生命周期钩子中写入store。
算法破解
经过仔细研究,发现算法采用cryptojs库的md5函数进行加密。具体实现如下:
import hashlib url = "/api/v2/common/keyword-recommend/730:(1691302700)" md5val = hashlib.md5(url.encode()).hexdigest() print(md5val)