腾讯云怎么生成Signature 知道了SecretKey ,用Java怎么生成Signature,有人做过腾讯云上传视频的吗
大哥 官方API里面有的,
刚才我查了一下参照官方API,里面有很多详细解释:https://cloud.tencent.com/document/product/213/15693
Signature的生成采用HmacSHA1算法,需要提供SecretKey和StringToSign两个参数,其中StringToSign是一个字符串,由多个请求参数组成,并且按照ASCII码排序,用&符号连接,如下所示:
StringToSign = "GET&%2F&AccessKeyId%3Dtestid%26Action%3DStartLiveRecord%26channel%3Dtest123%26endTime%3D1535206000%26recordType%3Dhls%26startTime%3D1535205800";
使用Java来生成Signature,可以参考以下代码:
String secretKey = "your secret key";
String stringToSign = "GET&%2F&AccessKeyId%3Dtestid%26Action%3DStartLiveRecord%26channel%3Dtest123%26endTime%3D1535206000%26recordType%3Dhls%26startTime%3D1535205800";
try {
Mac mac = Mac.getInstance("HmacSHA1");
SecretKey secret = new SecretKeySpec(secretKey.getBytes("UTF-8"), mac.getAlgorithm());
mac.init(secret);
byte[] hash = mac.doFinal(stringToSign.getBytes("UTF-8"));
String signature = new String(Base64.getEncoder().encode(hash));
System.out.println("Signature:" + signature);
} catch (Exception e) {
e.printStackTrace();
}