Data Consistency Verification

Updated at:
Copy as MD

OSS supports ETag, MD5, and CRC-64 to verify data consistency.

Verification method

Use case

Description

ETag

Detect object content changes.

An ETag is generated when an object is created and identifies the object content. For objects created by PutObject, the ETag is the MD5 hash of the content. For objects created by other methods, the ETag is a unique value derived from a specific algorithm.

Note

ETags can detect content changes, but to verify data integrity, use the MD5 hash instead.

MD5

Check data integrity.

When you upload an object, include its MD5 hash in the Content-MD5 request header. OSS calculates the MD5 hash of the received data and compares it with the Content-MD5 value. The upload succeeds only if the two values match.

Note
  • MD5 verification is supported for PutObject, GetObject, AppendObject, PostObject, multipart upload, and UploadPart.

  • The Content-MD5 header in a CompleteMultipartUpload request verifies the request body only, not the object itself.

For more information about how to check data integrity by using MD5, see Checking OSS MD5 consistency

CRC-64

Check data integrity.

OSS returns a CRC-64 value for each object uploaded by using any supported method. Compare this value with the locally computed CRC-64 to verify that the uploaded data is intact.

Note

For multipart uploads, if all parts have CRC-64 values, OSS returns the CRC-64 value of the complete object.

For more information about how to check data integrity by using CRC-64, see Check data integrity by using CRC-64.