Безопасность
Как проверить контрольную сумму файла и зачем это нужно
Хотите убедиться, что файл один в один, не раскрывая его содержимое? Контрольная сумма (хэш) — быстрая альтернатива построчному сравнению.
Две версии одного документа лежат рядом, а понять, что в них поменялось, на глаз не получается — абзацы сместились, строки кода перемешались, ячейки таблицы «вроде бы» совпадают. Разбираем, каким инструментом найти все отличия между двумя файлами: для текста и кода, документов Word и PDF, таблиц Excel и целых папок — и когда сравнение лучше не доверять онлайн-сервису.

Сравнение файлов нужно в самых разных ситуациях: проверить, что правил юрист в договоре, найти, какие строки кода изменились после мерджа, убедиться, что две папки после переноса на новый диск действительно идентичны. Для каждой задачи есть свой удобный способ, и ниже — рабочие варианты под конкретный тип файла, с акцентом на то, когда можно обойтись без установки программ, а когда загружать файл в веб-сервис попросту небезопасно.
Коротко: для текстовых файлов и кода достаточно бесплатного WinMerge или встроенной команды fc в Windows. Для Word и PDF — встроенное сравнение в Word («Рецензирование → Сравнить») или онлайн-сервис, но не загружайте туда конфиденциальные документы. Для Excel — сравнение значений ячеек спецфункцией или надстройкой. Для целых папок — WinMerge в режиме Folder Compare, который сопоставляет структуру и содержимое файлов разом.
Задача «сравнить два файла и найти отличия» на практике возникает по-разному, и для каждого случая важно сразу понимать, что именно вы ищете.
Во всех этих сценариях задача одна — найти именно различия между содержимым двух файлов, а не просто узнать, идентичны они побайтово или нет. Для второй, более узкой задачи («файлы один в один или нет») обычно достаточно сравнить контрольную сумму файла — это быстрее, но не покажет, что именно отличается.
Для файлов с кодом, конфигов, логов и обычного текста задача сводится к построчному diff: программа выравнивает содержимое и показывает, какие строки добавлены, удалены или изменены.
fcЕсли файлы небольшие и программу ставить не хочется, в Windows есть встроенная утилита командной строки fc (File Compare) — она работает без установки чего-либо.
cmd и нажмите Enter.:: синтаксис: fc путь_к_файлу_1 путь_к_файлу_2
fc C:\docs\dogovor_v1.txt C:\docs\dogovor_v2.txtКоманда выведет номера строк, которые отличаются, и покажет сами строки из обоих файлов друг под другом. Для построчного сравнения текстовых файлов добавьте ключ /n — тогда рядом появится номер строки, что удобно для больших файлов.
fcКоманда хороша для коротких файлов и быстрой проверки, но не подсвечивает различия цветом и плохо справляется, если строки просто сдвинулись (например, добавили одну строку в начале — и «разъехался» весь остальной файл). Для серьёзной работы с кодом лучше инструмент с настоящим diff-алгоритмом — см. ниже.
WinMerge — бесплатная программа с открытым исходным кодом для Windows, которая визуально сравнивает два текстовых файла или файла с кодом: подсвечивает добавленные, удалённые и изменённые строки разными цветами и даже отмечает отличия внутри одной строки на уровне отдельных слов.
WinMerge поддерживает десятки форматов текстовых файлов и кода — от .txt и .json до исходников на популярных языках программирования — и подсвечивает синтаксис при сравнении.
Если ставить программу нет возможности (например, вы не на своём компьютере), подойдут веб-сервисы для сравнения текста — их обычно называют «online diff checker». Вставляете содержимое обоих файлов в два окна, сервис подсвечивает отличия построчно прямо в браузере, без установки чего-либо. Такой способ удобен для разовой проверки небольших фрагментов кода или конфигов, но у него есть обратная сторона — см. раздел про приватность ниже.
Документы Word и PDF — отдельный случай: построчный diff здесь не годится, потому что важно сравнивать не разметку файла, а видимый текст и форматирование.
В Microsoft Word есть штатный инструмент сравнения документов — не нужно ничего устанавливать дополнительно, если Word уже стоит на компьютере.
Word создаёт новый, третий документ: в нём видны все изменения с разметкой в стиле «отслеживания правок» — зачёркнутый старый текст и подчёркнутый новый. Сами исходные файлы при этом не меняются. Подробности о параметрах сравнения и объединении правок от нескольких рецензентов — в официальной справке Microsoft по сравнению документов Word.
Бесплатный LibreOffice Writer умеет то же самое через меню Правка → Отслеживание изменений → Сравнить документ и неплохо открывает .docx-файлы, так что для разовой проверки покупать Office не обязательно.
Для PDF есть специализированные веб-сервисы сравнения — например, инструмент Compare PDF у PDF24 или аналогичный у iLovePDF. Загружаете две версии файла, сервис визуально сопоставляет страницы и подсвечивает отличия в тексте или расположении элементов. Это быстрый вариант, если PDF небольшой и не содержит ничего чувствительного — отчёт, публичная презентация, черновик статьи.
Если же PDF — это договор, скан паспорта, финансовый документ или что-то с персональными данными, загружать его в сторонний веб-сервис не стоит: см. раздел ниже про приватность.
Таблицы Excel сравнивать «на глаз» особенно тяжело: строки могут быть отсортированы по-разному, формулы — выглядеть одинаково, но ссылаться на разные ячейки, а визуально похожие числа — на самом деле отличаться на сотые доли.
=A1=Лист2!A1, которая вернёт ИСТИНА или ЛОЖЬ. Растянув формулу на весь диапазон, вы сразу увидите все несовпадающие ячейки.Отсортируйте обе таблицы одинаково (например, по первому столбцу) и приведите структуру столбцов к одному виду — иначе формулы и условное форматирование будут сравнивать «не те» ячейки и покажут ложные расхождения там, где данные на самом деле совпадают.
Если нужно сверить не два отдельных файла, а целые папки — например, после переноса архива на новый диск или синхронизации с облаком — построчный diff каждого файла вручную не вариант. Здесь выручает режим Folder Compare в том же WinMerge.
Для одной конкретной задачи — «нет ли на диске точных копий одного и того же файла, разложенных по разным папкам» — не всегда нужен построчный diff. Если вопрос именно про точные дубликаты, а не про частичные изменения, быстрее воспользоваться гайдом как найти дубликаты файлов на компьютере.
Онлайн-сервисы сравнения удобны именно отсутствием установки, но у них есть системная оговорка: вы передаёте содержимое файла на чужой сервер. Для публичного или учебного текста это не проблема. Для документов с коммерческой тайной, персональными данными или условиями NDA — уже риск.
Не загружайте в веб-сервисы сравнения договоры с реквизитами сторон, финансовую отчётность, медицинские и персональные данные, исходный код с коммерческой тайной — даже если сервис обещает «не хранить» файлы. Для таких документов используйте офлайн-инструменты: встроенное сравнение Word, WinMerge, Beyond Compare — они обрабатывают файлы локально, ничего не отправляя на сторону.
Если задача не «найти конкретные отличия», а просто «убедиться, что это тот же самый файл, что и был», не обязательно вообще показывать кому-то его содержимое — достаточно сверить контрольную сумму файла с эталоном. Хэш вычисляется локально и ничего не раскрывает о содержимом документа.
Отдельно стоит учитывать: если два текстовых файла выглядят «разными» буквально с первого символа, хотя вы уверены, что меняли только пару слов, причина может быть не в правках, а в кодировке текстового файла — программа сравнения в этом случае покажет расхождения почти в каждой строке, хотя смысл текста не менялся.
Сводная таблица поможет быстро определить подходящий способ по типу файла и требованиям к приватности.
| Задача | Тип файла | Инструмент | Online / Offline | Бесплатно? |
|---|---|---|---|---|
| Быстрая проверка короткого текста | Текст, конфиг | Команда fc (Windows) | Offline | Да |
| Построчное сравнение с подсветкой | Текст, код | WinMerge | Offline | Да |
| Разовая проверка без установки | Код, конфиг | Online diff checker | Online | Да |
| Сравнение правок в документе | Word (.docx) | Встроенное сравнение Word / LibreOffice | Offline | Частично |
| Сравнение нечувствительного PDF | PDF24 / iLovePDF Compare | Online | Да | |
| Сравнение значений ячеек | Excel (.xlsx) | Формула сравнения / условное форматирование | Offline | Да |
| Полный аудит книги Excel | Excel (.xlsx) | Spreadsheet Compare | Offline | Частично |
| Сравнение целых папок | Любые файлы | WinMerge Folder Compare | Offline | Да |
| Сравнение конфиденциальных файлов | Любые | WinMerge / Beyond Compare / Word (локально) | Offline | Частично |
Контрольная сумма (хэш) отвечает только на вопрос «файлы идентичны или нет», но не показывает, что именно отличается. Построчное сравнение (diff) показывает конкретные изменения: какие строки, абзацы или ячейки поменялись. Если нужна детализация — используйте сравнение, а не хэш.
Да. В Windows есть встроенная команда fc для текстовых файлов, в Word — встроенное сравнение документов на вкладке «Рецензирование», а для кода и PDF есть онлайн-сервисы, работающие прямо в браузере.
WinMerge — бесплатный и достаточный для большинства задач вариант: построчная подсветка, сравнение папок, поддержка множества форматов. Для более продвинутых сценариев (например, трёхстороннее слияние) используют платный Beyond Compare.
Зависит от содержимого. Для публичных или учебных текстов — обычно да. Для документов с персональными данными, коммерческой тайной или финансовыми реквизитами лучше использовать офлайн-инструменты: сервис получает полное содержимое файла на свой сервер.
Используйте режим Folder Compare в WinMerge: укажите две папки вместо файлов, и программа покажет, какие файлы отличаются, каких не хватает в одной из папок, а какие совпадают полностью.
Чаще всего причина в кодировке — файлы сохранены в разных кодировках (например, UTF-8 и Windows-1251), и программа сравнения видит разные байты там, где человеку видно одинаковый текст. Проверьте кодировку файла перед сравнением.
Прямое построчное сравнение в этом случае даст много ложных расхождений. Сначала отсортируйте обе таблицы по одному и тому же столбцу (например, по ID или ключевому полю), а затем сравнивайте — так формулы и условное форматирование будут сопоставлять одинаковые записи.