上传到 Amazon S3的小于5GB 的文件有一个 ETag,它只是文件的 MD5散列,这使得检查本地文件是否与放在 S3上的文件相同变得容易。
但是如果你的文件大于5GB,那么亚马逊计算 ETag 的方式就不同了。
例如,我分380个部分上传了一个5,970,150,664字节的文件。现在 S3显示它有一个 6bcf86bed8807b8e78f0fc6e0a53079d-380
的 ETag。我的本地文件的 md5哈希值为 702242d3703818ddefe6bf7da2bed757
。我认为破折号后面的数字是多部分上传的部分数。
我还怀疑新的 ETag (在破折号之前)仍然是 MD5散列,但是在多部分上传的过程中包含了一些元数据。
有人知道如何使用与 Amazon S3相同的算法来计算 ETag 吗?