前言

Bilibili客户端API的Sign验证算法

BiliBili

sign的拼接

md5加密( 参数排序(para) + App内置(appsecret) )

排序

按key排序,

key1=value1&key2=value2&key3=value3

Appsecret

App内置的私钥,抓包可见

appsecret=ea85624dfcf12d7cc7b2b3a94fac1f2c(栗子)

最后

加密前应该是
key1=value1&key2=value2&key3=value3ea85624dfcf12d7cc7b2b3a94fac1f2c

附上一个php的栗子

1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* $data array
* $appSecret string
* return string
*/

function createSign($data,)
{
$appSecret = 'ea85624dfcf12d7cc7b2b3a94fac1f2c';
ksort($data);
$url_build = http_build_query($data);
return md5(http_build_query($data) . $appSecret);
}

END.