Как обнаружить отредактированное фото по отпечатку SHA-256
SHA-256 простыми словами: что доказывает совпадение и что значит несовпадение, почему фото из WhatsApp или Messenger не совпадают и как сравнивать файлы.
Самый надёжный способ узнать, изменялся ли файл изображения с момента первой записи, — сравнить отпечатки SHA-256 двух файлов: совпадение означает, что они идентичны байт в байт, несовпадение — что файл изменился. Но «изменён» — не то же самое, что «подделан»: просто отправка фото через WhatsApp или Messenger уже ломает совпадение. В этом руководстве — SHA-256 простыми словами, что он доказывает и чего не доказывает, и порядок действий, который работает на практике.
Примечание: эта статья — общая информация, а не юридическая консультация. Как оцениваются доказательства в конкретном деле, решает соответствующий орган.
Что такое SHA-256 простыми словами
Представьте SHA-256 как машину, которая делает отпечаток пальца для файла. Дайте ей любой файл — фото на 3 МБ или видео на 2 ГБ — и она вернёт строку фиксированной длины из 64 символов, начинающуюся, например, так: 9f2c1a…. Алгоритм описан в американском стандарте NIST FIPS 180-4 и используется везде — от банков до загрузки программ.
Важны три свойства:
- Тот же файл — тот же отпечаток. Сколько бы раз и на каком бы компьютере вы его ни вычисляли, получится одна и та же строка.
- Крошечное изменение — совершенно другой результат. Измените один пиксель или удалите одну строку метаданных, и новый отпечаток не будет иметь ничего общего со старым. «Почти совпадает» не бывает.
- Односторонность. По отпечатку нельзя восстановить фото, и на практике никто не может намеренно создать другой файл с тем же отпечатком.

Значит, достаточно сохранить 64 символа при поступлении фото, чтобы позже проверить, является ли какой-либо файл именно этим фото, — без хранения или повторной отправки самого изображения.
Что доказывает совпадение и что говорит несовпадение
| Результат | Доказывает | Не доказывает |
|---|---|---|
| Совпадение | Ваш файл байт в байт идентичен файлу, отпечаток которого был сохранён | Что сцена подлинная или что перед съёмкой ничего не инсценировали |
| Несовпадение | Файл чем-то отличается от оригинала | Что кто-то намеренно изменил содержимое |
Именно во второй строке люди ошибаются. Файлы отличаются от оригинала по многим безобидным причинам:
- Мессенджеры пережимают изображения. WhatsApp, Messenger и многие другие уменьшают и пережимают фото, отправленные как «фото».
- Соцсети пережимают и удаляют метаданные при публикации.
- Скриншоты вместо отправки файла.
- Поворот, обрезка или правка яркости, даже минимальная, в приложении галереи.
- Конвертация форматов, например HEIC в JPEG, или «сохранить как» из просмотрщика.
Поэтому при несовпадении правильный вопрос не «это подделка?», а «через какие каналы прошёл этот файл?».
Почему фото, отправленные через WhatsApp или Messenger, никогда не совпадают
Чтобы экономить место и трафик, мессенджеры обычно перекодируют JPEG-изображения: ниже разрешение, сильнее сжатие, меньше метаданных. На глаз картинка выглядит так же, но байты внутри совсем другие, а значит, и SHA-256 тоже.
| Как отправлено | Обычно сохраняет оригинальный файл? | Сравнение SHA-256 |
|---|---|---|
| Как «фото» в мессенджере | Нет, пережимается | Почти наверняка не совпадёт |
| Как «файл» или документ в мессенджере | Обычно да | Обычно совпадает |
| Вложение в email | Обычно да | Обычно совпадает |
| Оригинал, скачанный из Google Drive или OneDrive | Да | Совпадает |
| Скриншот | Нет | Не совпадает |
QR-код, напечатанный на фото, обычно сканируется и после сжатия, поэтому получатель может проверить время и область съёмки, даже когда сравнение отпечатков не проходит. См. проверка фото по QR-коду.
Практический порядок сравнения
Если фото отправляете вы (подрядчики, техники, полевые сотрудники)
- Отправлять быстрые фото через чат для повседневных обновлений — нормально.
- Для важных фото (инспекции, сдача работ, страховые случаи) дополнительно отправляйте оригинал файлом, по email или через общую папку.
- Не обрезайте, не поворачивайте и не редактируйте фото перед отправкой оригинала.
- Укажите в сообщении код SnapID, чтобы получатель мог быстро его найти.

Если фото получаете вы (заказчики, клиенты, руководители, страховщики)
- Отсканируйте QR-код или откройте страницу проверки по коду на фото.
- Проверьте время съёмки, область и признаки целостности.
- Нажмите сравнить с моим файлом и выберите полученный оригинал.
- Совпадение: файл не изменён. Нет совпадения: проверьте, проходил ли он через сжимающий канал, затем попросите оригинал.
- Если оригинал, отправленный по несжимающему каналу, всё равно не совпадает, уточните у отправителя и внимательно посмотрите на миниатюру на странице проверки.
Вычисление SHA-256 самостоятельно
Для собственных проверок или документации достаточно встроенных инструментов:
- Windows (командная строка):
certutil -hashfile photo.jpg SHA256 - macOS (Терминал):
shasum -a 256 photo.jpg - Linux:
sha256sum photo.jpg
Сравните результат со строкой, которую дал отправитель. Один отличающийся символ — значит, это два разных файла.
Как SnapID Mark использует SHA-256
Когда фото SnapID Mark загружается, сервер сохраняет отпечатки SHA-256 и оригинала, и изображения со штампом. Публичная страница проверки показывает отпечаток вместе с надёжным временем съёмки, округлённой областью и признаками целостности. Кнопка «сравнить с моим файлом» вычисляет SHA-256 прямо в браузере получателя, поэтому фото не загружается, и сверяет его с сохранённым значением. Страница также объясняет случай с пережатием в мессенджерах, чтобы получатели не делали поспешных выводов.

Вместе это даёт три уровня: надёжное время говорит когда (см. надёжное время или время телефона), код SnapID и QR ведут к независимой записи, а SHA-256 говорит, не изменён ли файл. Подробнее — в разделе безопасность, или попробуйте демонстрацию проверки.
Помните, что это технический инструмент проверки, а не электронная подпись и не удостоверенная метка времени. Эту сторону подробнее разбирает статья фото с меткой времени как доказательство во Вьетнаме.
Если вам нужно отправлять фото, целостность которых получатель может проверить сам, скачайте SnapID Mark и попробуйте сравнить оригинал с копией, отправленной через чат.
Вопросы и ответы
Раскрывает ли отпечаток SHA-256 содержимое фото?
Нет. Изображение нельзя восстановить из 64 символов, поэтому публичный показ отпечатка не раскрывает картинку.
Фото, отправленное через мессенджер, не совпадает. Это подделка?
Нет. Мессенджеры пережимают изображения, отправленные как «фото», и это меняет файл, хотя он выглядит так же. Попросите оригинал, отправленный файлом или по email, и сравните его.
Когда я сравниваю на странице проверки, моё фото загружается?
Нет. Ваш браузер вычисляет отпечаток на вашем устройстве, и файл изображения никуда не уходит.
Означает ли совпадение, что фото точно подлинное?
Совпадение лишь доказывает, что файл идентичен сохранённому при загрузке. Оно не доказывает, что сцена не была инсценирована. Смотрите также на время, область и признаки целостности.
Можно ли сравнить PDF, выгруженный из фото?
Не используйте PDF для сравнения: изображение внутри него — это другой файл. Сравнивайте по оригинальному JPEG.