为Amazon S3生成认证头

  • 本文关键字:认证 Amazon S3 amazon-s3 key
  • 更新时间 :
  • 英文 :


为什么亚马逊AWS如此专业和复杂?

我只想让我的应用程序上传文件到S3。在阅读了网站上的文件后,我发现我可以使用"POST"请求,只需给出2个参数"key"one_answers"file"。(没有其他东西,没有政策)但问题是"关键"。

"key"是认证头。但他们只是放了一个构造密钥的伪代码,我看不懂。

Authorization = "AWS" + " " + AWSAccessKeyId + ":" + Signature;
Signature = Base64( HMAC-SHA1( UTF-8-Encoding-Of( YourSecretAccessKeyID, StringToSign ) ) );
StringToSign = HTTP-Verb + "n" +
    Content-MD5 + "n" +
    Content-Type + "n" +
    Date + "n" +
    CanonicalizedAmzHeaders +
    CanonicalizedResource;
CanonicalizedResource = [ "/" + Bucket ] +
    <HTTP-Request-URI, from the protocol name up to the query string> +
    [ sub-resource, if present. For example "?acl", "?location", "?logging", or "?torrent"];
CanonicalizedAmzHeaders = <described below>
http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html

有经验的程序员可以把它们翻译成PHP或Javascript语言吗?它需要包括外部代码/库吗?因为我看到了一些外星函数

如果您正在使用php,那么使用AWS php SDK是最简单的。使用create_object上传文件

// Instantiate the class
$s3 = new AmazonS3();
$response = $s3->create_object('my-bucket', 'myfile.txt', array(
    'fileUpload' => 'upload_me.txt',
));
// Success?
var_dump($response->isOK());

最新更新