Хеш SHA-256 — что это такое и как доказать, что файл не был изменён
Также доступно на:中文PortuguêsBahasa Indonesiaहिन्दीFrançaisEspañolEnglishবাংলাالعربية
Сегодня вы получаете договор по электронной почте. Через полгода кто-то предъявляет «тот же самый» файл на встрече — или в споре. Как доказать, что это в точности тот же документ, в котором не изменилась ни одна запятая? Ответ, которым пользуются криминалисты, суды и банковские системы по всему миру, умещается в одно слово: хеш.
Это руководство объясняет без лишнего жаргона, что такое хеш SHA-256, почему он работает как цифровой отпечаток файла, как вычислить хеш PDF (в Windows, на Mac и прямо в браузере) и как применять его в повседневной работе с важными документами.
Что такое хеш — простыми словами
Хеш — это результат математического вычисления над содержимым файла. Алгоритм читает каждый бит документа — каждую букву, каждый пробел, каждый пиксель — и выдаёт последовательность фиксированной длины, вроде такой:
9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
У SHA-256 (Secure Hash Algorithm, 256 бит) эта последовательность всегда состоит из 64 символов — неважно, весит файл 2 КБ или 2 ГБ.
Полезным хеш делают четыре свойства:
- Детерминированность: один и тот же файл всегда даёт один и тот же хеш — сегодня, завтра, на любом компьютере мира;
- Лавинный эффект: изменение одного символа в документе — запятой, пробела — даёт совершенно другой хеш, неузнаваемый по сравнению с прежним;
- Односторонность: восстановить документ по хешу невозможно. Хеш ничего не раскрывает о содержимом — поэтому им можно свободно делиться даже для конфиденциальных документов;
- Стойкость к коллизиям: на практике вычислительно невозможно изготовить два разных файла с одинаковым хешем SHA-256.
Поэтому хеш и называют цифровым отпечатком файла: он однозначно идентифицирует содержимое, не раскрывая его.
Для чего хеш нужен на практике
Если вы работаете в офисе — юридическом, бухгалтерском, кадровом, инженерном — хеш решает вполне конкретные задачи:
- Доказать, что документ не изменяли. Зафиксировали хеш договора в день подписания? Любой может заново вычислить хеш предъявленной позже копии и сверить. Хеш совпал = документ идентичен бит в бит. Хеш другой = было изменение.
- Сверить версии перед сравнением. Прежде чем тратить время на сравнение двух версий договора, хеш за секунды ответит, действительно ли файлы различаются — два PDF с разными именами могут быть одним документом, и наоборот.
- Цепочка происхождения приложений. Разделяя большой PDF на части для загрузки в системы с ограничением размера, хеш исходного файла фиксирует, из какого целого документа эти части получены.
- Проверка загрузок и обмена файлами. Получили файл по ссылке, с флешки или в мессенджере? Хеш подтвердит, что он дошёл целиком и без повреждений.
- Документирование проверки. Отчёт о сравнении RoseLab печатает хеш SHA-256 обоих сравнивавшихся файлов — получатель отчёта может убедиться, что анализировались именно эти версии.
Как вычислить хеш SHA-256 файла
В браузере, ничего не устанавливая (самый быстрый способ)
Проверка целостности RoseLab вычисляет хеш SHA-256 любого файла — PDF, Word, изображения, таблицы — прямо в браузере:
- Откройте проверку (аккаунт не нужен);
- Перетащите на страницу один или несколько файлов;
- Хеш каждого появляется мгновенно, с кнопкой копирования.
Важно: вычисление происходит в вашем собственном браузере, с помощью технологии Web Crypto. Файл не отправляется ни на какой сервер — а это принципиально, когда документ конфиденциален.
В Windows (командная строка)
Откройте командную строку и используйте встроенную утилиту certutil:
certutil -hashfile "C:\путь\договор.pdf" SHA256
Или в PowerShell:
Get-FileHash "C:\путь\договор.pdf" -Algorithm SHA256
На Mac и Linux
В терминале:
shasum -a 256 договор.pdf
Все три способа дают абсолютно одинаковый результат для одного файла — в этом и прелесть стандарта: кто угодно, на любой системе, независимо придёт к тому же хешу.
Как проверить, изменяли ли PDF (пошагово)
Типичная ситуация: у вас есть зафиксированный хеш документа (в отчёте, в старом письме, в протоколе), и кто-то предъявляет файл, утверждая, что это тот самый документ.
- Откройте проверку целостности;
- Перетащите предъявленный файл;
- Вставьте зафиксированный хеш в поле сверки;
- Результат мгновенный: зелёный — файл идентичен оригиналу бит в бит; красный — содержимое не совпадает: файл изменён или это вообще другой документ.
Ни середины, ни «почти совпало» не бывает: из-за лавинного эффекта любое изменение — заметное или нет — полностью меняет хеш. Если сверка не сошлась и вы хотите узнать, что изменилось, следующий шаг — открыть обе версии в инструменте сравнения PDF с включённой автоматической подсветкой различий.
Что хеш доказывает — а что нет
Вот та часть, которую многие путают и знание которой стоит денег:
Хеш доказывает целостность: что содержимое файла идентично тому, что существовало в момент фиксации хеша. Здесь он практически неоспорим — тот же механизм используется в цифровой криминалистике.
Хеш не доказывает авторство и дату. Он не говорит, кто создал документ и когда. Для авторства существует электронная подпись (в России — по закону 63-ФЗ «Об электронной подписи», где квалифицированная электронная подпись приравнена к собственноручной); для даты — доверенная метка времени. Три механизма дополняют друг друга — различия мы подробно разбираем в руководстве «Криптография документов: хеш, электронная подпись и метка времени».
Поэтому честный способ применять хеш в рабочих документах таков: фиксируйте хеш рано и там, где его трудно оспорить — в теле письма другой стороне, в общем отчёте, в протоколе. Чем раньше и публичнее запись, тем сильнее доказательство целостности.
Хеш и отчёт о сравнении RoseLab
Когда вы сравниваете две версии документа в RoseLab и формируете отчёт, в нём есть:
- Идентификация обоих файлов (имя и число страниц);
- Хеш SHA-256 каждой версии;
- Дата и время сравнения;
- Полный список удалённых и добавленных фрагментов.
И напечатанная инструкция: не доверяй, проверяй — любой получатель отчёта может перетащить исходные файлы в публичную проверку и пересчитать хеши самостоятельно. Это независимая верификация: не нужно доверять ни RoseLab, ни отправителю отчёта — математика сходится сама.
Этот процесс особенно полезен при вычитке договоров перед подписанием, проверке исправленных версий официальных документов и документировании любой проверки, которую потом будет ревизовать кто-то другой — полная методика в статье «Полный процесс сравнения документов».
Полезные привычки для офиса
- Фиксируйте хеш важных документов сразу при получении — это занимает секунды и создаёт точку отсчёта целостности;
- Указывайте хеш в письме, отправляя финальные версии («договор во вложении, SHA-256:
abc123...») — другая сторона сможет убедиться в целостности полученного; - Храните отчёт о сравнении вместе со сравнивавшимися файлами — втроём они рассказывают историю целиком;
- Перед любыми операциями с файлом (объединение, разделение, сжатие или удаление страниц) зафиксируйте хеш оригинала: у результата, естественно, будет другой хеш, а вам нужно уметь доказать его происхождение;
- Не доверяйте «точным копиям» без проверки — сверка занимает меньше минуты и снимает все сомнения.
Частые вопросы
Хеш SHA-256 — это то же самое, что шифрование? Хеш — криптографическая функция, но он не «прячет» документ, а идентифицирует его. Шифрование для конфиденциальности (зашифровать/расшифровать) — другой механизм, разобранный в нашем руководстве по криптографии документов.
Могут ли два разных файла иметь одинаковый хеш? В математической теории коллизии существуют; на практике коллизий SHA-256 не найдено ни одной, а создание такой — за пределами известных вычислительных возможностей. Это стандарт банков, блокчейнов и судебной экспертизы.
Меняет ли переименование файла хеш?
Нет. Хеш вычисляется по содержимому, а не по имени. dogovor-final.pdf и versiya-2.pdf с одинаковым содержимым имеют одинаковый хеш.
Сохранится ли хеш после печати и повторного сканирования? Нет — отсканированный файл это новый документ (новые изображения, новые байты) с совершенно другим хешем, даже если текст выглядит тем же. Хеш проверяет цифровые файлы, а не бумагу.
Хранит ли проверка RoseLab мои файлы? Нет. Хеш вычисляется локально, в вашем браузере. Ни один файл не загружается и не сохраняется на серверах.
Можно ли проверять файлы, которые не являются PDF? Да. Проверка принимает любой формат: Word, Excel, изображения, видео, ZIP. Хеш — универсальное понятие для файлов, а не только для PDF.