Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 亚马逊S3&;校验和_Amazon S3_Checksum - Fatal编程技术网

Amazon s3 亚马逊S3&;校验和

Amazon s3 亚马逊S3&;校验和,amazon-s3,checksum,Amazon S3,Checksum,我试图验证上传到bucket的文件的完整性,但我找不到这方面的任何信息 在文件的标题中,有一个“E-tag”,但我认为它不是md5校验和 那么,如何检查我上传到AmazonS3上的文件是否与我的计算机上的文件相同 谢谢。:) 如果您使用REST API在单个操作中上载对象(最多5GB),则可以在PUT请求中添加Content-MD5头。根据PUT的S3文档,Content-MD5标头为: 根据RFC 1864,消息的base64编码的128位MD5摘要(不带标头)。此标头可用作消息完整性检查,以

我试图验证上传到bucket的文件的完整性,但我找不到这方面的任何信息

在文件的标题中,有一个“E-tag”,但我认为它不是md5校验和

那么,如何检查我上传到AmazonS3上的文件是否与我的计算机上的文件相同


谢谢。:)

如果您使用REST API在单个操作中上载对象(最多5GB),则可以在PUT请求中添加Content-MD5头。根据PUT的S3文档,Content-MD5标头为:

根据RFC 1864,消息的base64编码的128位MD5摘要(不带标头)。此标头可用作消息完整性检查,以验证数据是否与最初发送的数据相同。尽管是可选的,但我们建议使用Content-MD5机制作为端到端完整性检查

检查如何计算base64编码的128位MD5摘要。如果正在使用,则可以使用--contentMd5选项将计算摘要包含在请求头中

如果亚马逊在上传完成时计算的md5摘要与您在Content-md5标题中提供的md5摘要不匹配,亚马逊将以BadDigest错误代码响应


如果您使用的是多部分上传,Content-MD5报头将分别作为每个部分的完整性检查。一旦完成了多部分上传,亚马逊目前没有提供验证组装文件完整性的方法。

几乎涵盖了其中,尽管@svetianov的答案看起来更完整。我开发了一个iphone应用程序将视频上传到亚马逊,并将文件编码为base64编码的128位MD5,文件上载完成后,我收到“错误代码:BadDigest,消息:您指定的内容-MD5与我们收到的内容不匹配”。这是否意味着我无法将MD5值与pohone和s3服务器匹配?有关如何使用AWS CLI s3api命令执行此操作的示例,请参阅。