Amazon s3 GCS传输服务对象MD5和CRC32C哈希不匹配

Amazon s3 GCS传输服务对象MD5和CRC32C哈希不匹配,amazon-s3,google-cloud-storage,google-cloud-platform,md5,Amazon S3,Google Cloud Storage,Google Cloud Platform,Md5,我使用GCS传输服务将对象从S3移动到GCS,然后在GAE上有一个ruby脚本,可以下载新的GCS对象并对其进行操作。由于MD5和CRC32C哈希验证失败,脚本无法下载。验证(谷歌云存储的一部分)是通过比较object.md5和object.crc32c散列和文件的计算散列来工作的,但它们不匹配 我从AWS下载了该文件并计算了md5和crc32c散列值,得到的值与GCS上的文件属性相同:object.md5和object.crc32c,但是当我直接从GCS下载并计算散列值时,我得到了不同的md5

我使用GCS传输服务将对象从S3移动到GCS,然后在GAE上有一个ruby脚本,可以下载新的GCS对象并对其进行操作。由于MD5和CRC32C哈希验证失败,脚本无法下载。验证(谷歌云存储的一部分)是通过比较
object.md5
object.crc32c
散列和文件的计算散列来工作的,但它们不匹配

我从AWS下载了该文件并计算了
md5
crc32c
散列值,得到的值与GCS上的文件属性相同:
object.md5
object.crc32c
,但是当我直接从GCS下载并计算散列值时,我得到了不同的
md5
crc32c
散列

要复制这一点:

  • 计算AWS对象的哈希
  • 通过传输服务将对象传输到地面军事系统
  • 使用:gsutil ls-L gs://bucket/path/to/file提取属性化的GCS对象哈希
  • gsutil ls -L gs://bucket/path/to/file
  • 计算GCS对象的哈希值
  • 我最初得到的错误是:

    /usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file/verifier.rb:34:in `verify_md5!': The downloaded file failed MD5 verification. (Google::Cloud::Storage::FileVerificationError) from /usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file.rb:809:in `verify_file!' from /usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file.rb:407:in `download' from sample.rb:9:in `' /usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file/verifier.rb:34:in'verify_md5!':下载的文件未通过MD5验证。(Google::Cloud::Storage::FileVerificationError) 来自/usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file.rb:809:in'verify_file!' from/usr/local/bundle/gems/google-cloud-storage-0.23.2/lib/google/cloud/storage/file.rb:407:in“下载” 来自sample.rb:9:in`'
    如果您从GCS下载对象并直接计算其md5,您会得到“object.md5”或其他值吗?你有没有将一个与原来的进行比较,看看它们是否不同以及如何不同?@BrandonYarbrough是的,我已经尝试过了,当我直接从GCS下载并计算MD5时,我得到的值与
    object.MD5
    值不同。