<?php function generateRecordingKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType='ARS') { return generateDynamicKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType); } function generateMediaChannelKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType='ACS') { return generateDynamicKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType); } function generateDynamicKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType) { $version = "004"; $randomStr = "00000000" . dechex($randomInt); $randomStr = substr($randomStr,-8); $uidStr = "0000000000" . $uid; $uidStr = substr($uidStr,-10); $expiredStr = "0000000000" . $expiredTs; $expiredStr = substr($expiredStr,-10); $signature = generateSignature($appID, $appCertificate, $channelName, $ts, $randomStr, $uidStr, $expiredStr ,$serviceType); return $version . $signature . $appID . $ts . $randomStr . $expiredStr; } function generateSignature($appID, $appCertificate, $channelName, $ts, $randomStr, $uidStr, $expiredStr ,$serviceType) { $concat = $serviceType . $appID . $ts . $randomStr . $channelName . $uidStr . $expiredStr; return hash_hmac('sha1', $concat, $appCertificate); } ?>