Amazon S3 huge file integrity
<p>I am very confused regarding how can I check the integrity of the files I upload to Amazon S3. I can see some StackOverflow questions about that, but they seem to use older APIs, which look very different from what I'm using now, and they refer to the E-Tag containing the md5, which seems to not be valid anymore, or for files over 5GB.</p>

<p>So, basically, I'm using PHP to upload huge files (some of them over 70GB), using MultipartUploader with a Try/Catch like this:</p>

<pre><code>        try {
            $result = $uploader-&gt;upload();
        } catch (MultipartUploadException $e) {
            $uploader = new MultipartUploader($s3, $file, array(
                'state' =&gt; $e-&gt;getState()
            ));
        }
</code></pre>

<p>I get several errors like these:</p>

<blockquote>
  <p>An exception occurred while uploading parts to a multipart upload. The following parts had errors:
  - Part 7729: Error executing "UploadPart" on ... resulted in a <code>500 Internal Server Error</code> response:
  
  <Code>InternalError</Code>We encountered an internal error. Pleas (truncated...)
   InternalError (server): We encountered an internal error. Please try again. - 
  <Code>InternalError</Code>We encountered an internal error. Please try again.</p>
  
  <p>Part 660: Error executing "UploadPart" on "..."; AWS HTTP error: cURL error 56: SSL read: error:00000000:lib(0):func(0):reason(0), errno 104 (see <a href="http://curl.haxx.se/libcurl/c/libcurl-errors.html" rel="nofollow noreferrer">http://curl.haxx.se/libcurl/c/libcurl-errors.html</a>)  (server): 100 Continue - </p>
  
  <p>Part 6542: Error executing "UploadPart" on "..."; AWS HTTP error: cURL error 52: Empty reply from server (see <a href="http://curl.haxx.se/libcurl/c/libcurl-errors.html" rel="nofollow noreferrer">http://curl.haxx.se/libcurl/c/libcurl-errors.html</a>)</p>
</blockquote>

<p>All of these seem to fall into the Catch of "MultipartUploadException", which tries to upload again from the current state.</p>

<p>But I'm still concerned about the integrity of the files uploaded, so I'd like to know how to check that. When I look in the S3 Management Console, the properties of one file says:</p>

<blockquote>
  <p>ETag: ba66d1235f954f28366ddc0a7efcb295-1609</p>
</blockquote>

<p>But when I do "md5sum" locally, I get something totally different:</p>

<blockquote>
  <p>fa693af7341c6c83e525ebc6b95422ea</p>
</blockquote>

<p>Does this mean the uploaded file is corrupted?</p>

<p>If not, what is the way to check the integrity of the uploaded files?</p>