沐风の秘密基地
青春とは、七つの自分に会えること。
沐风の秘密基地

如何使用JavaScript实现BV号转AV号

不就前(很久)以前哔哩哔哩出了BV号,最近也在学JavaScript,做了一个BV号转AV号的程序,让我们来看一下吧~

var table = "fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF";
var tr = {};
for (let i = 0; i < 58; i++) {
    tr[table[i]] = i;
}
var s = [11, 10, 3, 8, 4, 6];
var xor = 177451812,
    add = 8728348608;

function dec(x) {
    var r = 0;
    for (let i = 0; i < 6; i++) {
        r += tr[x[s[i]]] * Math.pow(58, i);
    }
    return (r - add) ^ xor;
}

function enc(x) {
    x = (x ^ xor) + add;
    var r = "BV1  4 1 7  ".split("");
    for (let i = 0; i < 6; i++) {
        r[s[i]] = table[Math.floor(x / Math.pow(58, i)) % 58];
    }
    return r.join("");
}

alert(dec('BV17x411w7KC'));
alert(dec('BV1Q541167Qg'));
alert(dec('BV1mK4y1C7Bz'));
alert(enc(170001));
alert(enc(455017605));
alert(enc(882584971));

dec()可以使BV号->AV号
enc()可以使AV号->BV号

赞赏

Mufeng

文章作者

发表评论

textsms
account_circle
email

沐风の秘密基地

如何使用JavaScript实现BV号转AV号
不就前(很久)以前哔哩哔哩出了BV号,最近也在学JavaScript,做了一个BV号转AV号的程序,让我们来看一下吧~ var table = "fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF…
扫描二维码继续阅读
2021-01-07