首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
探索世界的好奇心万岁
Udacity
网易公开课
Godel, Escher, Bach: An Eternal Golden Braid
justin2018
V2EX  ›  分享发现

B 站点 bv 与 av 互转

  •  2
     
  •   justin2018 · 11 天前 · 5395 次点击

    来源:

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