DynamicKey4.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. function generateRecordingKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType='ARS')
  3. {
  4. return generateDynamicKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType);
  5. }
  6. function generateMediaChannelKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType='ACS')
  7. {
  8. return generateDynamicKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType);
  9. }
  10. function generateDynamicKey($appID, $appCertificate, $channelName, $ts, $randomInt, $uid, $expiredTs ,$serviceType)
  11. {
  12. $version = "004";
  13. $randomStr = "00000000" . dechex($randomInt);
  14. $randomStr = substr($randomStr,-8);
  15. $uidStr = "0000000000" . $uid;
  16. $uidStr = substr($uidStr,-10);
  17. $expiredStr = "0000000000" . $expiredTs;
  18. $expiredStr = substr($expiredStr,-10);
  19. $signature = generateSignature($appID, $appCertificate, $channelName, $ts, $randomStr, $uidStr, $expiredStr ,$serviceType);
  20. return $version . $signature . $appID . $ts . $randomStr . $expiredStr;
  21. }
  22. function generateSignature($appID, $appCertificate, $channelName, $ts, $randomStr, $uidStr, $expiredStr ,$serviceType)
  23. {
  24. $concat = $serviceType . $appID . $ts . $randomStr . $channelName . $uidStr . $expiredStr;
  25. return hash_hmac('sha1', $concat, $appCertificate);
  26. }
  27. ?>