一、userId、secretkey值的获取
在点播播管理后台,点击API设置,在显示的页面中获取userId、secretkey值。
二、sign生成规则
将请求所需所有参数按照参数名字典顺序排列,连接参数名与参数值,并在尾部加上secretkey,生成SHA1加密值转大写,作为sign。注:目前为null或空串的字段不参与签名
三、Java sign生成示例
public static String getSign(Map<String, String> maps, String secretkey) throws Exception {
Long ptime = System.currentTimeMillis();
maps.put("ptime", ptime.toString());
List<String> keys = new ArrayList<>(maps.keySet());
List<String> tmp = new ArrayList<>();
Collections.sort(keys);
for (String key : keys) {
if (null != maps.get(key) && maps.get(key).length() > 0) {
tmp.add(key + "=" + maps.get(key));
}
}
String join = String.join("&", tmp) + secretkey;
return getSha1(join).toUpperCase();
}
public static String getSha1(String input) throws NoSuchAlgorithmException {
MessageDigest mDigest = MessageDigest.getInstance("SHA1");
byte[] result = mDigest.digest(input.getBytes(StandardCharsets.UTF_8));
StringBuilder sb = new StringBuilder();
for (int b : result) {
sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1));
}
return sb.toString();
}