B站宣布AV号全面升级至BV号附python互换脚本

【摘要】 今日,B站官方公开了一则有关于“AV号全面升级”的相关公告。官方表示:为了保护信息安全,容纳更多投稿,维护UP主的权益,自2020年3月23日起,AV号将全......

今日,B站官方公开了一则有关于“AV号全面升级”的相关公告。官方表示:为了保护信息安全,容纳更多投稿,维护UP主的权益,自2020年3月23日起,AV号将全面升级为BV号,未来BV号将作为稿件的统一标识。

1584951951_6.jpg

为了保护稿件信息安全,容纳更多投稿,维护UP主的权益,自2020年3月23日起,AV号将全面升级为BV号。与纯数字的AV号不同,BV号是一段由数字和大小写字母组成的字符串,经过算法自动生成。未来将统一使用BV号作为稿件标识。

据悉,BV号是由一段数字和大小写字母组成的字符串,经过算法自动生成,而原有的AV号相关功能保持不变。未来将统一使用BV号作为稿件标识。同时, 2020 年 3 月 23 日前生成AV号的相关功能保持不变。例如,已分享的稿件链接,AV号搜索,以及动态、评论、私信中的高亮跳转。 

python算法

作者:mcfx
链接:https://www.zhihu.com/question/381784377/answer/1099438784
来源:知乎
table='fZodR9XQDSUm21yCkr6zBqiveYah8bt4xsWpHnJE7jL5VG3guMTKNPAwcF'
tr={}
for i in range(58):
	tr[table[i]]=i
s=[11,10,3,8,4,6,2,9,5,7]
xor=177451812
add=100618342136696320

def dec(x):
	r=0
	for i in range(10):
		r+=tr[x[s[i]]]*58**i
	return (r-add)^xor

def enc(x):
	x=(x^xor)+add
	r=list('BV          ')
	for i in range(10):
		r[s[i]]=table[x//58**i%58]
	return ''.join(r)

print(dec('BV17x411w7KC'))
print(dec('BV1Q541167Qg'))
print(dec('BV1mK4y1C7Bz'))
print(enc(170001))
print(enc(455017605))
print(enc(882584971))
版权声明:《 B站宣布AV号全面升级至BV号附python互换脚本 》为作者 思源哥哥原创文章,转载请注明原文地址!
最后编辑:2020-3-23 23:03:40
分享到:
打赏
评论 (0)