七牛のピクチャーのダウンロードのTokenは生成します
5083 ワード
1.参照先:
http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html
2.以上の手順でTokenを生成する方法
最も重要なのは上図の1.hmac_sha1 :
このネット上には多くの実装があり、私はネット上で例を探しました.
署名:
http://developer.qiniu.com/docs/v6/api/reference/security/download-token.html
2.以上の手順でTokenを生成する方法
最も重要なのは上図の1.hmac_sha1 :
このネット上には多くの実装があり、私はネット上で例を探しました.
package org.Utils;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
public class HmacSha1New {
private static final String MAC_NAME = "HmacSHA1";
private static final String ENCODING = "UTF-8";
/**
*
* 、、、、 、、、 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);
}
}
署名:
byte[] shaResult = HmacSha1New.HmacSHA1Encrypt(DownloadUrl, 'MY_SECRET_KEY')
に、
EncodedSign = urlsafe_base64_encode(
shaResult
)
で できます.
String EncodedSign = UrlSafeBase64.encodeToString(
shaResult
);
のjarバッグから ました
のように、ダウンロードしたURLにつづりましょう.
3. のDemoバッグを :【Demoをダウンロード】
4. のバカに しめられた を します.
1. は に をアップロードしました.
2.その「ダウンロード」の2 を て、クリックして、ダウンロードして、ダウンロードのURLを ることができて、これはテストに らします:
http://7xlkfa.com1.z0.glb.clouddn.com/210636zxr3kv7z8x6cjrjt.jpg?attname=&e=1442130892&token=MyAccessKey:Token
3.はい、 めます. の ドキュメントのアドレスに づいて、Tokenを します. に:TokenByMe
すると、つなぎ わせの は:
http://7xlkfa.com1.z0.glb.clouddn.com/210636zxr3kv7z8x6cjrjt.jpg?attname=&e=1442130892&token=MyAccessKey:TokenByMe
3、4 やったが、いずれも:
4. は の を いましたが、 わらず、
その 、なぜか サイトの を て、「attname=&」が くなったことがわかりました.TokenのURLを したからです.
DownloadUrl = 'http://developer.qiniu.com/resource/flower.jpg?e=1451491200'
「attname=&」は まれていません!
サイトのリンクもご ください.
http://developer.qiniu.com/resource/flower.jpg?e=1451491200&token=MY_ACCESS_KEY:yN9WtB0lQheegAwva64yBuH3ZgU=
その 、 したTokenを ろにつなぎ、「attname=&」を り くことで しました.
なぜ「ダウンロード」をオンにしたのかというと、そのURLには「attname=&」が まれていて、ダウンロードできます.そのToken は、DownloadUrlに したので、 されたURLも していません.
http://7xlkfa.com1.z0.glb.clouddn.com/210636zxr3kv7z8x6cjrjt.jpg?attname=&e=1442130892&token=MyAccessKey:TokenByMe
しくダウンロード!
【 、 が「attname=&」を けていない の き 】