Pytanie o sprawdzanie integralności danych, czyli co jest lepsze i dokładniejsze - opcja "Porównaj wg zawartości..." w Total Commander czy SHA-3 512 w PS Hash?

Witam. Mam następujące pytanie. Chodzi mi o porównanie dwóch lub więcej plików, które w teorii są wszystkie oczywiście identyczne/tożsame/takie same jeśli chodzi o ich zawartość/dane pod względem tego czy rzeczywiście są one takie identyczne/tożsame/takie same. Przykładowo - mam plik obrazu .iso o rozmiarze równo 4 GB na dysku wewnętrznym i drugi teoretycznie taki sam plik obrazu .iso o rozmiarze także równo 4 GB na pendrive. Pytanie, jeśli chcę się upewnić, że te dwa pliki są rzeczywiście tożsame/identyczne/takie same pod względem zawartości/danych (zarówno plik z dysku wewnętrznego jak i ten z pendrive’a) to co jest lepsze/dokładniejsze/bardziej precyzyjne pod tym względem ? Opcja „Porównaj wg zawartości…” w Total Commander czy np. porównanie jednego pliku z drugim za pomocą algorytmu SHA-3 512 w PS Hash ?

Teraz tak - domyślam się, że żeby mieć 100-procentową pewność, że takie dwa pliki są rzeczywiście identyczne/tożsame/takie same pod względem ich zawartości/danych to należy każdego z nich sprawdzić bit po bicie, czy dobrze myślę ? Czyli, jeśli przyjąć umownie, że te dwa pliki mają rozmiar po równo 4 GB każdy z nich to - 4 GB x 1024 MB = 4096 MB x 1024 KB = 4 194 304 KB x 1024 B = 4 294 967 296 B x 8 bitów = 34 359 738 368 bitów. A zatem należy w każdym z tych dwóch plików sprawdzić po kolei każdy z tych 34 359 738 368 bitów pod względem tego czy są one rzeczywiście identyczne/tożsame/takie same. Domyślam się, że każdy taki bit przyjmuje wartość 0 lub 1, ponieważ mamy do czynienia z systemem binarnym/dwójkowym, czy dalej dobrze główkuję ? Więc jeśli się okaże, że każdy z tych 34 359 738 368 bitów ma identyczne/tożsame/takie same wartości w tych dwóch plikach to znaczy, że te dwa pliki są rzeczywiście identyczne/tożsame/takie same pod względem zawartości/danych, czy tak to jest ?

Teraz przechodząc do porównania między opcją „Porównaj wg zawartości…” w Total Commander i porównaniem jednego pliku z drugim za pomocą algorytmu SHA-3 512 w PS Hash - czy któraś z tych opcji sprawdza te pliki właśnie bit po bicie tak żeby mieć 100-procentową pewność, że te dwa pliki są rzeczywiście identyczne/tożsame/takie same pod względem zawartości/danych ? Pytam o to, bo chciałbym na przyszłość wiedzieć co jest lepsze/dokładniejsze/bardziej precyzyjne do takich zadań ? Jak rozumiem wynik takiego porównania dwóch plików bit po bicie gdzie jest sprawdzany/analizowany/porównywany każdy bit w każdym z tych dwóch plików to ciąg zer i jedynek, czy tak ?

Jeśli zarówno opcja „Porównaj wg zawartości…” w Total Commander jak i porównanie jednego pliku z drugim za pomocą algorytmu SHA-3 512 w PS Hash jednak nie sprawdza takich dwóch plików bit po bicie gdzie jest sprawdzany/analizowany/porównywany każdy bit w każdym z tych dwóch plików to czy istnieje jakieś inne oprogramowanie które potrafi robić takie rzeczy ? Jeśli tak to proszę o nazwy takich programów.

Za wszelkie wskazówki i pomoc z góry dziękuję.

W TC utwórz sobie sumę kontrolną dla każdego z plików, (np MD5) a potem te sumy kontrolne ze sobą porównaj :slight_smile:

Untitled-1

Własnie po to są sumy kontrolne, żeby zagwarantować że zawartość jest identyczna. Używa się ich powszechnie, zwłaszcza w przypadku gdy masz tylko jeden plik a jego twórca publikuje sumę kontroną, żebys mógł się upewnić, że masz ten właściwy plik.

Jest jednak niewielka, minimalna szansa, że dwa trochę inne pliki, będą miały taką samą sumę kontrolną. Jeżeli masz dwa pliki i chcesz porówać bajt po bajcie, to użyj narzędzia fc dostępnego w każdym Windowsie z wiersza poleceń cmd.exe

fc /b file1.bin file2.bin

Wtedy SHA3 powinno rozwiązać ten problem na tysiące lat.

@Bradlee Wielkie Dzięki za pomoc z tą komendą fc w wierszu poleceń (cmd.exe). Rozumiem, że ta komenda nie zmieni przez przypadek zawartości/danych porównywanych plików ? Tu tylko chciałbym się upewnić, poza tym to wszystko.

@januszek Także Tobie dziękuję za pomoc.

@krystian3w Co miałeś na myśli pisząc „Wtedy SHA3 powinno rozwiązać ten problem na tysiące lat.” ? To, że dwa porównywane pliki za pomocą tego algorytmu, z których każdy ma inną zawartość/dane (nawet jak będzie przykładowo tylko jeden bit w jednym miejscu się różnił w obydwu tych plikach) nigdy nie dadzą wyniku w postaci identycznej/tożsamej/takie samej sumy kontrolnej ? To tylko tu chciałbym żebyś mi odpowiedział na te pytania. Poza tym to wszystko. Także Tobie dzięki za zaangażowanie.

tylko porównuje, nic nie zmienia, możesz być spokojny. Dokumentacja z przykładami fc | Microsoft Learn

@Bradlee W porządku. Dzięki jeszcze raz za pomoc. To wszystko.

Jak odpisze mi @krystian3w i będzie wszystko jasne to myślę, że temat to zamknięcia.

WinMerge:

Wybierasz pierwsze ISO, w drugim polu - drugie, i klikasz "Porównaj.