B 站点 bv 与 av 互转

2020-03-24 09:29:02 +08:00
 justin2018

来源:

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");

13120 次点击
所在节点    分享发现
35 条回复
pcbl
2020-03-24 20:47:02 +08:00
@1etterSong 那就占领 b 站,一步到位改 gv
oneisall8955
2020-03-24 21:10:57 +08:00
66666
lloovve
2020-03-24 21:41:57 +08:00
是时候 cctv 了
NealCCC
2020-03-24 22:48:53 +08:00
太强了👍
pabupa
2020-03-25 02:25:09 +08:00
👍
ZRS
2020-03-25 03:21:35 +08:00
乐了,还以为是 hash 结果是可逆的
alphatoad
2020-03-25 03:59:17 +08:00
学院派编程
LukeChien
2020-03-25 05:17:04 +08:00
要是我设计就加个校验位
Phariel
2020-03-25 06:23:31 +08:00
方案 1 是太优秀了 逆向工程的杰出代表 全体起立 👏
Neoth
2020-03-25 06:58:50 +08:00
在新冠肺炎宅家无事可做时代,b 站领导层终于想起来还可以这么没事找事儿,让 996 程序员码农们不要闲下来的产品需求,可以预见 b 站全面取销 av 字头的未来了。-- 事件原理介绍:AV (中文多指成人视频,毛片)这个 word 成了 b 站高层融入「主流中国社会」的如此隐痛……
iamdqncoder
2020-03-25 16:47:35 +08:00
等一个油猴脚本?
peterzane
2020-03-26 00:32:46 +08:00
@iamdqncoder 大佬自己做一个啊,我们只能鼓掌
yuy
2020-03-26 15:58:01 +08:00
方案一是信息学竞赛者(OIer)写出来的,此人确实有实力。
yuy
2020-03-26 15:59:23 +08:00
而且陈睿的知乎已经关注了他
kawei
2020-03-31 11:15:16 +08:00
菜鸡来问一下 这个 方案 1 编辑成 py 应该怎么使用他呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/655569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX