Si vous utilisez l'API REST pour charger un objet (jusqu'à 5 Go) en une seule opération, vous pouvez ajouter l'en-tête Content-MD5 dans votre PUT demande. Selon la documentation S3 pour la PUT, le Content-MD5 en-tête est:
Le codé en base64 128 bits MD5 condensé du message (sans les en-têtes) selon RFC 1864. Cet en-tête peut être utilisé comme une vérification d'intégrité de message pour vérifier que les données sont les mêmes que celles qui ont été envoyées à l'origine. Bien que cela soit facultatif, nous vous recommandons d'utiliser le mécanisme Content-MD5 comme vérification d'intégrité de bout en bout.
Vérifiez this answer sur la façon de calculer un condensé MD5 128 bits codé en base64. Si vous utilisez s3curl, vous pouvez inclure le condensé calculé dans vos en-têtes de demande à l'aide de l'option --contentMd5. Si le résumé md5 calculé par Amazon à la fin du téléchargement ne correspond pas au condensé md5 fourni dans l'en-tête Content-MD5, Amazon répondra avec un code d'erreur BadDigest.
Si vous utilisez le chargement partitionné, l'en-tête Content-MD5 sert de contrôle d'intégrité pour chaque pièce individuellement. Une fois le chargement partitionné finalisé, Amazon ne fournit pas actuellement un moyen de vérifier l'intégrité du fichier assemblé.
Assez couvert dans http://stackoverflow.com/questions/1775816/how-to-get-the-md5sum-of-a-file-on-amazons-s3, bien que la réponse de @ svetianov soit un peu plus complète . –