Si está utilizando la API REST para cargar un objeto (hasta 5 GB) en una sola operación, a continuación, puede agregar el encabezado Content-MD5 en su PUT petición. Según el la documentación S3 para PUT, la cabecera Content-MD5 es:
El base64 codificada de 128 bits MD5 digesto del mensaje (sin las cabeceras) de acuerdo con RFC 1864. Esta cabecera puede utilizarse como una verificación de integridad del mensaje para verificar que los datos sean los mismos que se enviaron originalmente. Aunque es opcional, recomendamos usar el mecanismo Content-MD5 como una verificación de integridad de extremo a extremo.
Compruebe this answer sobre cómo calcular un resumen MD5 de 128 bits codificado en base64. Si está utilizando s3curl, puede incluir el resumen calculado en los encabezados de su solicitud usando la opción --contentMd5.
Si el resumen MD5 calcula por Amazon tras la finalización de subida no coincide con el resumen md5 que ya ha proporcionado en la cabecera Content-MD5, Amazon responderá con un código de error BadDigest.
Si está utilizando la carga de varias partes, el encabezado Content-MD5 sirve como una verificación de integridad para cada parte individualmente. Una vez finalizada la carga de varias partes, Amazon no proporciona actualmente una forma de verificar la integridad del archivo ensamblado.
Casi cubierto en http://stackoverflow.com/questions/1775816/how-to-get-the-md5sum-of-a-file-on-amazons-s3, aunque la respuesta de @ svetianov parece un poco más completa . –