分析: 第一层:AES 对称加密(params) 用固定的 key 0CoJUm6Qyw8W8jud 加密原始数据 再用一个每次请求都不同的 16 位随机密钥,对第一步的结果二次加密 所以每次请求的 params 值都不一样 第二层:RSA 非对称加密(encSecKey) 用固定的公钥(指数 010001 + 超大模数)加密那个随机密钥 模数是 1024 位的,硬算不可能 难点在哪? 要同时复现两个不同的加密算法,任何一个错整个请求就失败 AES 那层还是双重加密(先固定key再随机key),逻辑复杂 RSA 的模数特别长,抄错一个字符都不行 请求体本身也要加密(评论
难点在于: 加密逻辑藏在完整的 JS 文件里,没有清晰的算法文档,得先读懂别人的 JS 代码 不能直接在 Python 里实现,只能用 execjs 调用 Node.js 环境,这意味着:需要配 Node.js 环境 JS 代码可能有编码问题(UTF-8 / GBK 混用) 调试困难 — 报错信息是 JS 的 加密算法本身是 AES,但密钥和向量怎么来的需要从 JS 里逆向分析 返回的数据也是加密的,你需要解密而不仅仅是加密 — 相当于双向都要搞
分析: 第一层:AES 对称加密(params) 用固定的 key 0CoJUm6Qyw8W8jud 加密原始数据 再用一个每次请求都不同的 16 位随机密钥,对第一步的结果二次加密 所以每次请求的 params 值都不一样 第二层:RSA 非对称加密(encSecKey) 用固定的公钥(指数 010001 + 超大模数)加密那个随机密钥 模数是 1024 位的,硬算不可能 难点在哪? 要同时复现两个不同的加密算法,任何一个错整个请求就失败 AES 那层还是双重加密(先固定key再随机key),逻辑复杂 RSA 的模数特别长,抄错一个字符都不行 请求体本身也要加密(评论
分析: 第一层:AES 对称加密(params) 用固定的 key 0CoJUm6Qyw8W8jud 加密原始数据 再用一个每次请求都不同的 16 位随机密钥,对第一步的结果二次加密 所以每次请求的 params 值都不一样 第二层:RSA 非对称加密(encSecKey) 用固定的公钥(指数 010001 + 超大模数)加密那个随机密钥 模数是 1024 位的,硬算不可能 难点在哪? 要同时复现两个不同的加密算法,任何一个错整个请求就失败 AES 那层还是双重加密(先固定key再随机key),逻辑复杂 RSA 的模数特别长,抄错一个字符都不行 请求体本身也要加密(评论...
难点在于: 加密逻辑藏在完整的 JS 文件里,没有清晰的算法文档,得先读懂别人的 JS 代码 不能直接在 Python 里实现,只能用 execjs 调用 Node.js 环境,这意味着:需要配 Node.js 环境 JS 代码可能有编码问题(UTF-8 / GBK 混用) 调试困难 — 报错信息是 JS 的 加密算法本身是 AES,但密钥和向量怎么来的需要从 JS 里逆向分析 返回的数据也是加密的,你需要解密而不仅仅是加密 — 相当于双向都要搞...
分析: 第一层:AES 对称加密(params) 用固定的 key 0CoJUm6Qyw8W8jud 加密原始数据 再用一个每次请求都不同的 16 位随机密钥,对第一步的结果二次加密 所以每次请求的 params 值都不一样 第二层:RSA 非对称加密(encSecKey) 用固定的公钥(指数 010001 + 超大模数)加密那个随机密钥 模数是 1024 位的,硬算不可能 难点在哪? 要同时复现两个不同的加密算法,任何一个错整个请求就失败 AES 那层还是双重加密(先固定key再随机key),逻辑复杂 RSA 的模数特别长,抄错一个字符都不行 请求体本身也要加密(评论...
添加客服微信,免费为您安排与该工程师直接沟通
长按二维码添加客服微信
如该工程师当前档期不合,也可免费为您推荐相似候选人