n1ro°
RU

Текст и данные · Инструкция

Проверка checksum после резервного копирования в облако

Checksum отвечает на конкретный вопрос: совпадает ли содержимое файла побайтно при расчёте одним и тем же алгоритмом.

Редакция N1RO · Проверено

Короткий ответ

Считайте checksum до загрузки и сравнивайте с тем же алгоритмом после неё. Не принимайте S3 ETag за универсальный MD5, особенно при multipart upload.

Что именно доказывает checksum

Checksum подтверждает, что содержимое совпадает побайтно при использовании одного и того же алгоритма. Amazon S3 поддерживает несколько checksum-алгоритмов и может проверять целостность при загрузке и скачивании. нельзя автоматически считать ETag MD5 всего объекта: для multipart upload и ряда режимов шифрования это неверно.

Предупреждение: Сравнивайте только значения одного алгоритма; SHA-256 нельзя сопоставлять с CRC32.

Как сравнить хэш до и после загрузки

  1. Шаг 1: Выберите один алгоритм, например SHA-256, и сохраните локальное значение до отправки.
  2. Шаг 2: Загрузите файл способом, который сохраняет или возвращает checksum выбранного алгоритма.
  3. Шаг 3: Получите облачное значение тем же алгоритмом и сравните строки полностью.
  4. Шаг 4: Для выборочного аудита скачайте несколько объектов и пересчитайте checksum локально.

Совет: Храните manifest отдельно от самих объектов: без эталонного значения повторный расчёт не даёт ответа, изменился файл или нет.

Почему S3 ETag не всегда MD5

  • Сравнивайте только значения одного алгоритма; SHA-256 нельзя сопоставлять с CRC32.
  • Не используйте ETag как универсальный MD5 без проверки документации сервиса.
  • Храните manifest отдельно от самих объектов: без эталонного значения повторный расчёт не даёт ответа, изменился файл или нет.

Предупреждение: Не используйте ETag как универсальный MD5 без проверки документации сервиса.

Checksum не заменяет restore-test

Не сравнивайте SHA-256 с CRC32 и не считайте визуально похожий идентификатор хэшем нужного алгоритма. В Amazon S3 доступны несколько checksum-алгоритмов, а ETag не является универсальным MD5 для всех способов загрузки: multipart upload и некоторые режимы меняют его смысл. Если сервис не предоставляет удобную end-to-end checksum, скачайте выборку объектов обратно и посчитайте хэш локально. Для большого архива можно хранить manifest с путём, размером и SHA-256 каждого файла, а затем периодически проверять выборку. Контрольная сумма доказывает целостность содержимого, но не заменяет тест восстановления структуры, прав и приложения, которое должно открыть данные после аварии.

Важно: Checksum подтверждает байты, но не гарантирует, что вы умеете восстановить весь набор с правильной структурой и доступами.

Manifest удобнее одиночных хэшей

Для большого архива создайте текстовый manifest с относительным путём, размером и SHA-256. Его можно хранить вместе с документацией backup и подписывать/защищать отдельно. При аудите пересчитайте случайную выборку; при миграции — весь набор. Так контроль целостности масштабируется на тысячи объектов.

Что учитывать

Сравнивайте только значения одного алгоритма; SHA-256 нельзя сопоставлять с CRC32.,Не используйте ETag как универсальный MD5 без проверки документации сервиса.,Храните manifest отдельно от самих объектов: без эталонного значения повторный расчёт не даёт ответа, изменился файл или нет.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Checking object integrity for data uploads in Amazon S3). Пример и формулировки — редакция N1RO на 2026-09-22.