Если вы используете API REST для загрузки объекта (до 5 ГБ) за одну операцию, вы можете добавить заголовок Content-MD5 в запрос PUT . Согласно документации S3 для PUT, заголовок Content-MD5:
128-битный MD5 дайджест сообщения (без заголовков) в кодировке base64 в соответствии с RFC 1864. Этот заголовок может использоваться в качестве проверки целостности сообщения для проверки того, что данные представляют собой те же данные, которые был первоначально отправлен. Хотя это и необязательно, мы рекомендуем использовать механизм Content-MD5 в качестве сквозной проверки целостности.
Проверьте этот ответ о том, как вычислить 128-битный дайджест MD5 в кодировке base64. Если вы используете s3curl , вы можете включить вычисленный дайджест в заголовки вашего запроса, используя опцию - contentMd5 .
Если дайджест md5, вычисленный Amazon по завершении загрузки, не совпадает с дайджестом md5, который вы указали в заголовке Content-MD5, Amazon ответит кодом ошибки BadDigest .
Если вы используете многочастную загрузку, заголовок Content-MD5 служит для проверки целостности каждой части в отдельности. После завершения многоэтапной загрузки Amazon в настоящее время не предоставляет способ проверки целостности собранного файла.