Co to jest podpis pliku?
Podpis pliku w programowaniu komputerowym to unikalny numer identyfikacyjny znajdujący się na początku pliku. Ten numer określa typ pliku, podając informacje o danych zawartych w rzeczywistym pliku. Informacje te można wykorzystać do ustalenia, jaki typ pliku jest odczytywany, gdy rozszerzenie pliku lub błąd użytkownika błędnie zidentyfikował plik jako niepoprawny typ. Podpis pliku może również zawierać informacje, które zapewniają, że oryginalne dane przechowywane w pliku pozostają nienaruszone i nie zostały zmodyfikowane. Połączenie tych elementów pozwala podpisowi pliku służyć jako ważna forma weryfikacji, szczególnie w przypadku wirusów komputerowych.
Pojawiła się koncepcja podpisu pliku z powodu potrzeby nagłówka pliku, bloku danych na początku pliku, który określa parametry przechowywania informacji w pliku. Część informacji nagłówka jest sekwencją bajtów, która definiuje typ pliku, który został pierwotnie utworzony. Może to być plik obrazu, dokument z określonego programu lub nawet typ protokołu, gdy strumień pliku jest używany jako metoda komunikacji między klientem a serwerem. Nagłówek pliku nie używa zdefiniowanego standardu; zamiast tego jest zastrzeżony dla każdego innego formatu, co oznacza, że program lub system operacyjny potrzebuje bazy danych sygnatur plików, aby określić typ nieznanego pliku.
Rzeczywisty podpis pliku jest czasem nazywany liczbą magiczną. W programowaniu jest to wartość unikalna w zajmowanym polu danych. Patrząc na nagłówek pliku, aby określić typ pliku, oznacza to, że żadne dwa podpisy plików nie powinny być takie same, umożliwiając każdemu typowi formatu odrębny ciąg znaków bajtów. Może to być szczególnie przydatne w przypadku przesyłania i interpretacji plików online, gdzie rozszerzenie identyfikujące plik może być dowolne i nie można na nim polegać jako identyfikatora typu pliku.
Oprócz samego typu pliku podpis pliku może również zawierać informacje, które pozwalają na sprawdzenie błędów w pliku, dzięki czemu przechowywane w nim dane mogą zostać potwierdzone jako nienaruszone. Często wykonuje się to za pomocą funkcji znanej jako suma kontrolna. Suma kontrolna to funkcja, która wykorzystuje wartości całkowite danych pliku do tworzenia wartości matematycznych, które można replikować po przesłaniu lub załadowaniu pliku. W najbardziej podstawowej formie proces ten polega na dodaniu wartości szeregu bajtów do pliku, a następnie zarejestrowaniu sumy, umożliwiając programowi dekodowanie pliku w celu wykonania tej samej funkcji. Jeśli wyniki są różne podczas dekodowania, plik mógł zostać uszkodzony, a dane mogły być niepoprawne lub mogły zostać zmodyfikowane do złośliwych celów.