欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

腾讯云 云直播 后台操作

最编程 2024-01-03 18:23:59
...

其中推流代码示例

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class Test {
  public static void main(String[] args) {
      System.out.println(getSafeUrl("txrtmp", "11212122", 1469762325L));
  }
  private static final char[] DIGITS_LOWER =
      {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
  /*
  * KEY+ streamName + txTime
  */
  private static String getSafeUrl(String key, String streamName, long txTime) {
      String input = new StringBuilder().
                          append(key).
                          append(streamName).
                          append(Long.toHexString(txTime).toUpperCase()).toString();
      String txSecret = null;
      try {
          MessageDigest messageDigest = MessageDigest.getInstance("MD5");
          txSecret  = byteArrayToHexString(
                      messageDigest.digest(input.getBytes("UTF-8")));
      } catch (NoSuchAlgorithmException e) {
              e.printStackTrace();
      } catch (UnsupportedEncodingException e) {
              e.printStackTrace();
      }
      return txSecret == null ? "" :
                         new StringBuilder().
                         append("txSecret=").
                         append(txSecret).
                         append("&").
                         append("txTime=").
                         append(Long.toHexString(txTime).toUpperCase()).
                         toString();
      }
  private static String byteArrayToHexString(byte[] data) {
      char[] out = new char[data.length << 1];
      for (int i = 0, j = 0; i < data.length; i++) {
              out[j++] = DIGITS_LOWER[(0xF0 & data[i]) >>> 4];
              out[j++] = DIGITS_LOWER[0x0F & data[i]];
      }
      return new String(out);
  }
}