统一“id”为小写,并将“UID”改为“mid”,调整【视频属性数据】文档

This commit is contained in:
社会易姐QwQ
2021-07-12 21:31:27 +08:00
parent 3512adf59d
commit a7a743dffd
87 changed files with 1027 additions and 978 deletions

View File

@@ -15,8 +15,8 @@ Token有效期为1月更改密码或过期失效
| cookie项 | 含义 | 备注 |
| ----------------- | ----------------- | ------------------------------------------ |
| DedeUserID | 当前用户UID | |
| DedeUserID__ckMd5 | 用户UID md5校验值 | |
| DedeUserID | 当前用户mid | |
| DedeUserID__ckMd5 | 用户mid md5校验值 | |
| SESSDATA | 登录Token | 用于用户识别与鉴权<br />作用同`access_key` |
| bili_jct | CSRF Token | 用于操作性接口 |

View File

@@ -1,6 +1,6 @@
# bvID说明
# bvid说明
2020-03-23 B站推出了全新的稿件视频ID“bvID”来接替之前的“avID其用法与性质等价于“avID
2020-03-23 B站推出了全新的稿件视频id“bvid”来接替之前的“avid其用法与性质等价于“avid
详见:
@@ -9,23 +9,23 @@
## 格式:
“bvID”恒为长度为12的字符串前两个字母为大写“BV”后10个位base58计算结果
“bvid”恒为长度为12的字符串前两个字母为大写“BV”后10个位base58计算结果
## 实质:
“bvID"为“avID”的base58编码可通过算法进行相互转化
“bvid"为“avid”的base58编码可通过算法进行相互转化
## avID发放方式的变化:
## avid发放方式的变化:
从2009-09-09 09:09:09 [av2](https://www.bilibili.com/video/av2)的发布到2020-03-28 19:45:02 [av99999999](https://www.bilibili.com/video/av99999999)的发布B站结束了以投稿时间为顺序的avID发放改为随机发放avID
从2009-09-09 09:09:09 [av2](https://www.bilibili.com/video/av2)的发布到2020-03-28 19:45:02 [av99999999](https://www.bilibili.com/video/av99999999)的发布B站结束了以投稿时间为顺序的avid发放改为随机发放avid
~~暗示B站东方要完泪目~~
## av->bv算法
本算法及示例程序仅能编码及解码avID<` 29460791296 `无法验证avID>=` 29460791296 `的正确性
本算法及示例程序仅能编码及解码avid<` 29460791296 `无法验证avid>=` 29460791296 `的正确性
1. a=(avID⊕177451812)+8728348608
1. a=(avid⊕177451812)+8728348608
2. 以i为循环变量循环6次b[i]=(a/58^i)%58
3. 将b[i]中各个数字转换为以下码表中的字符
@@ -112,14 +112,12 @@ const unsigned long long add = 8728348608; //固定加法值
const int s[] = {11, 10, 3, 8, 4, 6}; //位置编码表
//初始化反查码表
void tr_init()
{
void tr_init() {
for (int i = 0; i < 58; i++)
tr[table[i]] = i;
}
unsigned long long bv2av(char bv[])
{
unsigned long long bv2av(char bv[]) {
unsigned long long r = 0;
unsigned long long av;
for (int i = 0; i < 6; i++)
@@ -128,8 +126,7 @@ unsigned long long bv2av(char bv[])
return av;
}
char* av2bv(unsigned long long av)
{
char* av2bv(unsigned long long av) {
char* result = (char*)malloc(13);
strcpy(result,"BV1 4 1 7 ");
av = (av ^ Xor) + add;
@@ -138,8 +135,7 @@ char* av2bv(unsigned long long av)
return result;
}
int main()
{
int main() {
tr_init();
printf("%s\n",av2bv(170001));
printf("%u\n",bv2av("BV17x411w7KC"));