UIGF-org / mihoyo-api-collect

收集米哈游旗下的游戏与应用的API。
Other
325 stars 33 forks source link

现在4X salt和DS2算法有变化吗?生成的DS无法使用。 #9

Closed Crokily closed 1 year ago

Crokily commented 1 year ago

按照鉴权那页写的js, let salt = 'xV8v4Qu54lUKrEYFZkJhB8cuOh9Asafs'; let time = new Date().getTime().toString().substring(0, 10); let random = Math.floor(Math.random() * 100001 + 100001); let body = ''; let query = "role_id=xxxxx&server=prod_gf_cn&isPrev=&schedule_type=1&need_all=true" let sign = md5("salt=" + salt + "&t=" + time + "&r=" + random + "&b=" + body + "&q=" + query); console.log(time + "," + random + "," + sign)

header是 Host: api-takumi-record.mihoyo.com DS:ds x-rpc-app_version: 2.52.1 x-rpc-client_type: 5

用米游社抓包出来的ds放进去能用,用上述代码生成的ds丢header里会报-10001错误,代码应该没错吧,请问是不是算法或salt改变了?

MoRanYue commented 1 year ago

一切没有变呀,你的query没有排序。

query的代码改成这样:

const query = "role_id=xxxxx&server=prod_gf_cn&isPrev=&schedule_type=1&need_all=true".split('&').sort().join('&')

文档里的错误代码也已经改了。

Crokily commented 1 year ago

是了,问题解决,我看的不够仔细,感谢!