3 回答
TA贡献2003条经验 获得超2个赞
token不是后台生成过来的么
-----------------------------------7-29编辑-------------------------------------------------
这应该是七牛上传,所以需要安卓端生成token。如果是七牛上传,代码如下:
public String getToken() {
try {
JSONObject _json = new JSONObject();
long _dataline = System.currentTimeMillis() / 1000 + 3600;
_json.put("deadline", _dataline);// 有效时间为一个小时
_json.put("scope", "images");
String _encodedPutPolicy = UrlSafeBase64.encodeToString(_json
.toString().getBytes());
byte[] _sign = HmacSHA1Encrypt(_encodedPutPolicy, SecretKey);
String _encodedSign = UrlSafeBase64.encodeToString(_sign);
String _uploadToken = AccessKey + ':' + _encodedSign + ':'
+ _encodedPutPolicy;
return _uploadToken;
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
/**
*
* 使用 HMAC-SHA1 签名方法对对encryptText进行签名
*
* @param encryptText
* 被签名的字符串
* @param encryptKey
* 密钥
* @return
* @throws Exception
*/
public static byte[] HmacSHA1Encrypt(String encryptText, String encryptKey)
throws Exception {
byte[] data = encryptKey.getBytes(ENCODING);
// 根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
SecretKey secretKey = new SecretKeySpec(data, MAC_NAME);
// 生成一个指定 Mac 算法 的 Mac 对象
Mac mac = Mac.getInstance(MAC_NAME);
// 用给定密钥初始化 Mac 对象
mac.init(secretKey);
byte[] text = encryptText.getBytes(ENCODING);
// 完成 Mac 操作
return mac.doFinal(text);
}
希望对你有帮助,以上
添加回答
举报