try {
JSONObject _json = new JSONObject();
long _dataline = System.currentTimeMillis() / 1000 + 3600;
_json.put("deadline", _dataline);
_json.put("scope", "kymobile");
String _encodedPutPolicy = UrlSafeBase64.encodeToString(_json
.toString().getBytes());
byte[] _sign = HmacSHA1Encrypt(_encodedPutPolicy, ConfigConstants.QINIU_SECRETKEY);
String _encodedSign = UrlSafeBase64.encodeToString(_sign);
String _uploadToken = ConfigConstants.QINIU_ACCESSKEY + ':' + _encodedSign + ':'
+ _encodedPutPolicy;
UploadManager uploadManager = new UploadManager();
uploadManager.put(file, null, _uploadToken,
new UpCompletionHandler() {
@Override
public void complete(String key, ResponseInfo info,
JSONObject response) {
KLog.d(info.toString());
}
}, null);
} catch (Exception e) {
e.printStackTrace();
}
/**
*
使用 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.getInstance(MAC_NAME);
mac.init(secretKey);
byte[] text = encryptText.getBytes(ENCODING);
return mac.doFinal(text);
}