1回答

2收藏

哔哩哔哩BVID转AVID

信息分享 信息分享 2861 人阅读 | 1 人回复 | 2020-03-24


来源于知乎
https://www.zhihu.com/question/381784377/answer/1099438784# -*- coding: UTF-8 -*-
table='fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF'
tr={}
for i in range(58):
    tr[table]=i
s=[11,10,3,8,4,6]
xor=177451812
add=8728348608
def dec(x):
    r=0
    for i in range(6):
        r+=tr[x[s]]*58**i
    return (r-add)^xor
def enc(x):
    x=(x^xor)+add
    r=list('BV1  4 1 7  ')
    for i in range(6):
        r[s]=table[x//58**i%58]
    return ''.join(r)
'''参考示例
https://www.bilibili.com/video/BV1SE411w7kq
https://www.bilibili.com/video/av98300997
'''
if __name__ == '__main__':
    print(dec('BV1SE411w7kq'))
    print(enc(98300997))


分享到:
回复

使用道具 举报

回答|共 1 个

七仔

发表于 2020-3-24 12:41:55 | 显示全部楼层

速度很强,没多久,这就被破了
回复

使用道具 举报