更新 'SrcJyAliPublic.js'

main
src48597962 10 months ago
parent 6f57e97417
commit be0bf46f01
  1. 68
      SrcJyAliPublic.js

@ -432,71 +432,3 @@ function getOpenToken(authorization) {
} }
return open_access_token || ""; return open_access_token || "";
} }
function test_aliecc() {
let headers = {
"content-type": "application/json;charset=UTF-8",
"origin": "https://www.aliyundrive.com",
"referer": "https://www.aliyundrive.com/",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41"
};
let appId = "5dde4e1bdf9e4966b387ba58f4b3fdc3";
let nonce = 0;
/*
// 生成私钥和公钥
let private_key = BigInt(Math.floor(Math.random() * 2 ** 32));
let ecc_pri = new ECDSA.ECDSA(private_key, "secp256k1");
let ecc_pub = ecc_pri.getVerifyingKey();
let public_key = "04" + ecc_pub.toString();
function r(appId, deviceId, userId, nonce) {
return `${appId}:${deviceId}:${userId}:${nonce}`;
}
function sign(appId, deviceId, userId, nonce) {
let sign_dat = ecc_pri.sign(
r(appId, deviceId, userId, nonce).getBytes('utf-8'),
ECDSA.sha256
);
return sign_dat.toString() + "01";
}
*/
// 生成私钥和公钥
let private_key = new Uint8Array(32); // 32 个随机字节
let public_key = new Uint8Array(64); // 64 个随机字节
function r(appId, deviceId, userId, nonce) {
return `${appId}:${deviceId}:${userId}:${nonce}`;
}
function sign(appId, deviceId, userId, nonce) {
eval(getCryptoJS());
let msg = r(appId, deviceId, userId, nonce);
let hash = CryptoJS.subtle.digest("SHA-256", new TextEncoder().encode(msg));
let signature = CryptoJS.subtle.sign(
{
name: "ECDSA",
hash: { name: "SHA-256" },
},
private_key,
hash
);
return new Uint8Array(signature);
}
let signature = sign(appId, "3a9935208f4b4fce95a9655c7725d640", "3426ad8ebaa04e1ea9ee01bd998d06d4", nonce);
log(signature);
headers['x-signature'] = signature;
let data = {
"deviceName": "Edge浏览器",
"modelName": "Windows网页版",
"pubKey": public_key,
}
if (signature && public_key) {
let req = JSON.parse(request("https://api.aliyundrive.com/users/v1/users/device/create_session", { headers: headers, body: data, timeout: 3000 }));
log(req);
if (req.success) {
return { "signature": signature, "success": 1 }
}
}
return { "success": 0 }
}
Loading…
Cancel
Save