来源:
1.https://www.zhihu.com/question/381784377/answer/1099438784
2.TG:PinTG
/*
方案一:
来自 https://www.zhihu.com/question/381784377/answer/1099438784
*/
var table = "fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF",
tr = new Object();
for (var i = 0; i < 58; i++) {
tr[table[i]] = i;
}
var s = [11, 10, 3, 8, 4, 6],
xor = 177451812,
add = 8728348608;
function dec(x) {
var r = 0;
for (var i = 0; i < 6; i++) {
r += tr[x[s[i]]] * 58 ** i;
}
return (r - add) ^ xor;
}
function enc(x) {
x = (x ^ xor) + add;
r = "BV1 4 1 7 ".split("");
for (var i = 0; i < 6; i++) {
r[s[i]] = table[Math.floor(x / 58 ** i) % 58];
}
return r.join("");
}
console.log(dec("BV17x411w7KC"));
console.log(enc(170001));
/*
方案二
*/
function hget(type, id) {
$http.get({
url: `http://api.bilibili.com/x/web-interface/archive/stat?${type}id=${id}`,
handler: resp => {
var data = resp.data.data;
console.log({
bvid: data.bvid,
aid: data.aid
});
}
});
}
hget("a", "170001");
hget("bv", "BV17x411w7KC");
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.