跳转至

小红书 x-s 参数说明

1. 前言

简单介绍小红书 x-s 参数加密过程:

  • 就是对 x1, x2, x3, x4 拼接的参数 base64 后进行 des 加密,再经过 encodeHex 得到 payload 参数;

  • 然后根据 payload 参数构建如下参数:

{"signSvn":"51","signType":"x1","appId":"xhs-pc-web","signVersion":"1","payload":"65ced183840b2eb82ac94fd44e67dcef28ac0fbc086e7d66e5d0acbcaf670b41364baacabddbc61d94290fd890604d03c9e3bfda1faa1eb90d74aa31b54c72cd0d74aa31b54c72cdac489b9da8ce5e48f4afb9acfc3ea26fe0b266a6b4cc3cb528f8fa277c08ff9dd4c0accbdf158b2d7762d940b0ed302bd22e2a58a470c2ec2c72684c61384debc6b4c36a3385cc130226b06c193344fc436ec59ce46640d21e4c3db93382a792ddacbf6c492eef9395ec62c772a12e75c8920b8c248fbcb2"}
  • 然后再 base64 并在结果前拼接 XYW_ 字符即可。

其中对 x1,x2,x3,x4 参数进行解释:

  • var x1= MD5(url=/api/redcaptcha/v2/getconfig),是接口 md5 后的结果;
  • var x2 = "0|0|0|1|0|0|1|0|0|0|1|0|0|0|0",这个是环境获取到的值;
  • var x3 = "18c1db27532t4n1rn99a9iok14eqlvcdtfp904e6d50000342643" 即是 cookies 中的 a1;
  • var x4 = 1708451282287,即是 Date.now();

拼接示例如下:

1
2
3
4
var pre_data = "x1=6667296f17398985a2a087300d1474e4;x2=0|0|0|1|0|0|1|0|0|0|1|0|0|0|0;x3=18c1db27532t4n1rn99a9iok14eqlvcdtfp904e6d50000342643;x4=1708451282287;"
pre_data = btoa(pre_data)
var payload = des("12345678", pre_data, 1, 0, undefined, 0);
result = encodeHex(payload).length;

可以根据以上规则来实现纯算生成。

2. 解决示例

除了纯算的方式,也可以通过补环境框架的方式来生成:

Snipaste_2024-06-16_01-04-09

photo_2024-06-15_23-21-48

评论

回到页面顶部