24直播网
当前位置: 首页 > 资讯 > 篮球资讯 > 墨西哥VS南非直播_墨西哥VS南非直播高清免费观看_墨西哥VS南非直播在线观看免费无插件

墨西哥VS南非直播_墨西哥VS南非直播高清免费观看_墨西哥VS南非直播在线观看免费无插件

墨西哥VS南非直播_墨西哥VS南非直播高清免费观看_墨西哥VS南非直播在线观看免费无插件

package com.hs.common.alilive;

import sun.misc.BASE64Encoder;

import javax.crypto.Mac;

import javax.crypto.spec.SecretKeySpec;

import java.io.UnsupportedEncodingException;

import java.net.URLEncoder;

import java.security.InvalidKeyException;

import java.security.NoSuchAlgorithmException;

import java.text.SimpleDateFormat;

import java.util.*;

public class AliLiveSignatureUtil );

Arrays.sort(sortedKeys);

//1-2-参数编码、参数名称和值用英文等号(=)进行连接、使用“&”符号连接,即得到规范化请求字符串,

//这里将参数编码、英文等号(=)连接、使用“&”符号连接三步一起放在循环里面进行操作

StringBuilder canonicalizedQueryString = new StringBuilder();

for (String key : sortedKeys)

//2-将上一步构造的规范化字符串按照下面的规则构造成待签名的字符串(注意percentEncode的使用)。

//HTTPMethod 是提交请求用的 HTTP 方法,比如 GET。

//percentEncode(“/”) 是按照步骤 1.ii 中描述的 URL 编码规则对字符 “/” 进行编码得到的值,即 %2F。

//percentEncode(CanonicalizedQueryString) 是对步骤 1 中构造的规范化请求字符串按步骤 1.ii 中描述的 URL 编码规则编码后得到的字符串。

StringBuilder stringToSign = new StringBuilder();

stringToSign.append("GET").append(SEPARATOR).append(percentEncode("/")).append(SEPARATOR);

stringToSign.append(percentEncode(canonicalizedQueryString.toString()

.substring(1)));

System.out.println(stringToSign);

//3- 按照 RFC2104 的定义,计算待签名字符串 StringToSign 的 HMAC 值。

//计算签名时使用的 Key 就是您持有的 Access Key Secret 并加上一个 “&” 字符(ASCII:38),使用的哈希算法是 SHA1。()

//final String ALGORITHM = "HMAC-SHA1";//注意使用HMAC-SHA1会报错,要用HmacSHA1(但是我看的参考博客用的是“HMAC-SHA1”)

final String ALGORITHM = "HmacSHA1";

final String ENCODING = "UTF-8";

String key = AccessKeySecret + "&";

Mac mac = Mac.getInstance(ALGORITHM);

mac.init(new SecretKeySpec(key.getBytes(ENCODING), ALGORITHM));

byte[] signData = mac.doFinal(stringToSign.toString().getBytes(ENCODING));

//4-按照 Base64 编码规则把上面的 HMAC 值编码成字符串,即得到签名值(Signature)。

signature = new String(new BASE64Encoder().encode(signData));

signature = percentEncode(signature);

} catch (InvalidKeyException e) {掘金现场直播

e.printStackTrace();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

} catch (IllegalStateException e) {

e.printStackTrace();

}

return signature;

}

//1-1-转码

private static String percentEncode(String value) throws UnsupportedEncodingException {

return value != null ? URLEncoder.encode(value, "utf-8").replace("+", "%20").replace("*", "%2A").replace("%7E", "~") : null;

}

//1-2-获取时间

private static String getUTCTimeStr()

}

标签:

推荐新闻

球队排行

足球 篮球
英超 德甲 法甲 西甲 意甲
排名球队胜/平/负积分
NBA CBA
排名球队胜/负胜率
东部联盟 西部联盟

热门标签