来源:
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");
1
littleylv 2020-03-24 09:50:14 +08:00
牛逼,特别是那个 api 的
|
2
iMusic 2020-03-24 10:27:50 +08:00
爱了
|
3
Felldeadbird 2020-03-24 10:34:28 +08:00
我还以为 BV 是随机生成出来的。没想到还可以转回去 AV 号。B 站这设计神了。
|
4
pcbl 2020-03-24 10:36:31 +08:00 via Android
cv 准备中。。
|
5
amorphobia 2020-03-24 10:37:26 +08:00
方案一牛逼
|
7
wangxiaoaer 2020-03-24 10:43:50 +08:00
@Felldeadbird #3 搜一下 hashid
|
8
yukiloh 2020-03-24 11:00:44 +08:00 via Android 1
笑死了,原来不是随机 id…
|
9
learnshare 2020-03-24 11:03:41 +08:00 1
这就尴尬了,所谓的保护数据只是掩饰,实际上还是原来的前缀不太雅观
|
10
locoz 2020-03-24 11:08:36 +08:00
搞了半天是迷幻操作...让我想起了弹幕那个用户 id 的 crc32b😂
|
11
Kiriya 2020-03-24 11:10:50 +08:00
感觉 V 站和 B 站用户重合度很高啊
|
12
yty2012g 2020-03-24 11:33:46 +08:00
方案 1 的思路绝了!!
|
13
NotFamous 2020-03-24 11:46:17 +08:00
我就想知道方案 1 是怎么搞出来的!! 好厉害!!!
|
14
yazoox 2020-03-24 12:35:27 +08:00
你们真厉害...... 这么快就......
|
15
redeemer1001 2020-03-24 12:35:32 +08:00
方法 1 真的牛逼……
|
16
vone 2020-03-24 13:54:40 +08:00
我还以为方案一是 B 站员工写的,没想到是推理出的算法。
|
17
loveToMy1 2020-03-24 16:36:43 +08:00
真是优秀
|
18
zhuangjia 2020-03-24 17:19:12 +08:00
方案一真是厉害
|
19
ParadiseDS 2020-03-24 19:37:46 +08:00 via Android
方案一绝了,数学好真的为所欲为
|
20
1etterSong 2020-03-24 20:30:56 +08:00
@pcbl cv 早就有了。专栏。
|
21
pcbl 2020-03-24 20:47:02 +08:00 via Android
@1etterSong 那就占领 b 站,一步到位改 gv
|
22
oneisall8955 2020-03-24 21:10:57 +08:00
66666
|
23
lloovve 2020-03-24 21:41:57 +08:00 via iPhone
是时候 cctv 了
|
24
NealCCC 2020-03-24 22:48:53 +08:00 via Android
太强了👍
|
25
pabupa 2020-03-25 02:25:09 +08:00
👍
|
26
ZRS 2020-03-25 03:21:35 +08:00
乐了,还以为是 hash 结果是可逆的
|
27
alphatoad 2020-03-25 03:59:17 +08:00 via iPhone
学院派编程
|
28
LukeChien 2020-03-25 05:17:04 +08:00 via Android
要是我设计就加个校验位
|
29
Phariel 2020-03-25 06:23:31 +08:00
方案 1 是太优秀了 逆向工程的杰出代表 全体起立 👏
|
30
Neoth 2020-03-25 06:58:50 +08:00
在新冠肺炎宅家无事可做时代,b 站领导层终于想起来还可以这么没事找事儿,让 996 程序员码农们不要闲下来的产品需求,可以预见 b 站全面取销 av 字头的未来了。-- 事件原理介绍:AV (中文多指成人视频,毛片)这个 word 成了 b 站高层融入「主流中国社会」的如此隐痛……
|
31
iamdqncoder 2020-03-25 16:47:35 +08:00
等一个油猴脚本?
|
32
peterzane 2020-03-26 00:32:46 +08:00 via iPad
@iamdqncoder 大佬自己做一个啊,我们只能鼓掌
|
33
yuy 2020-03-26 15:58:01 +08:00
方案一是信息学竞赛者(OIer)写出来的,此人确实有实力。
|
34
yuy 2020-03-26 15:59:23 +08:00
而且陈睿的知乎已经关注了他
|
35
kawei 2020-03-31 11:15:16 +08:00
菜鸡来问一下 这个 方案 1 编辑成 py 应该怎么使用他呢?
|