justin2018

B 站点 bv 与 av 互转

  •  2
     
  •   justin2018 · Mar 24, 2020 · 14291 views
    This topic created in 2241 days ago, the information mentioned may be changed or developed.

    来源:

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