Skip to content

Commit cb04c36

Browse files
author
yutingzeng
committed
增加构造userbuf
1 parent af94743 commit cb04c36

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

src/TLSSigAPIv2.php

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,28 @@ private function base64_url_decode($base64) {
4848
}
4949
return $result;
5050
}
51-
51+
public function getUserBuf($account,$dwAuthID,$dwExpTime,$dwPrivilegeMap,$dwAccountType) {
52+
//视频校验位需要用到的字段
53+
/*
54+
cVer unsigned char/1 版本号,填0
55+
wAccountLen unsigned short /2 第三方自己的帐号长度
56+
buffAccount wAccountLen 第三方自己的帐号字符
57+
dwSdkAppid unsigned int/4 sdkappid
58+
dwAuthId unsigned int/4 群组号码
59+
dwExpTime unsigned int/4 过期时间 (当前时间 + 有效期(单位:秒,建议300秒))
60+
dwPrivilegeMap unsigned int/4 权限位
61+
dwAccountType unsigned int/4 第三方帐号类型
62+
*/
63+
$userbuf = pack('C1', '0'); //cVer unsigned char/1 版本号,填0
64+
$userbuf .= pack('n',strlen($account)); //wAccountLen unsigned short /2 第三方自己的帐号长度
65+
$userbuf .= pack('a'.strlen($account),$account); //buffAccount wAccountLen 第三方自己的帐号字符
66+
$userbuf .= pack('N',$this->sdkappid); //dwSdkAppid unsigned int/4 sdkappid
67+
$userbuf .= pack('N',$dwAuthID); //dwAuthId unsigned int/4 群组号码/音视频房间号
68+
$userbuf .= pack('N', $dwExpTime); //dwExpTime unsigned int/4 过期时间 (当前时间 + 有效期(单位:秒,建议300秒))
69+
$userbuf .= pack('N', $dwPrivilegeMap); //dwPrivilegeMap unsigned int/4 权限位
70+
$userbuf .= pack('N', $dwAccountType); //dwAccountType unsigned int/4
71+
return $userbuf;
72+
}
5273
/**
5374
* 使用 hmac sha256 生成 sig 字段内容,经过 base64 编码
5475
* @param $identifier 用户名,utf-8 编码

test/test.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,16 @@
1414
} else {
1515
echo "verify ok expire $expire init time $init_time\n";
1616
}
17-
$userbuf = '';
17+
$userbuf = $api->getUserBuf('xiaojun',10000,86400*180, 255,0);
1818
$ret = $api->verifySigWithUserBuf($sig, 'xiaojun', $init_time, $expire,$userbuf, $err_msg);
1919
if (!$ret) {
2020
echo $err_msg . "\n";
2121
} else {
2222
echo "verify ok expire $expire init time $init_time userbuf $userbuf\n";
2323
}
24-
25-
$sig = $api->genSigWithUserBuf('xiaojun', 86400*180, 'abc');
24+
$userbuf = $api->getUserBuf('xiaojun',1000, 86400*180, 255,0);
25+
echo $userbuf . "\n";
26+
$sig = $api->genSigWithUserBuf('xiaojun', 86400*180, $userbuf);
2627
echo $sig . "\n";
2728
$init_time = 0;
2829
$expire = 0;

0 commit comments

Comments
 (0)