Podpis pliku w programowaniu komputerowym to unikalny numer identyfikacyjny znajdujący się na początku pliku. Numer ten identyfikuje typ pliku, podając informacje o danych zawartych w rzeczywistym pliku. Informacje te mogą służyć do określenia, 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, które były przechowywane w pliku, są nadal nienaruszone i nie zostały zmodyfikowane. Połączenie tych elementów sprawia, że podpis pliku może służyć jako ważna forma weryfikacji, zwłaszcza w przypadku wirusów komputerowych.
Koncepcja podpisu pliku pojawiła się z powodu potrzeby nagłówka pliku, bloku danych na początku pliku, który definiuje parametry przechowywania informacji w pliku. Część informacji nagłówka to sekwencja bajtów, która definiuje typ pliku, który został pierwotnie utworzony. Może to być plik obrazu, dokument z określonego programu, a nawet typ protokołu, gdy strumień plików 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 czasami określany jako liczba magiczna. W programowaniu jest to wartość unikalna w zajmowanym przez nią polu danych. Patrząc na nagłówek pliku w celu określenia typu pliku, oznacza to, że żadne dwa podpisy plików nie powinny być takie same, co pozwala na to, aby każdy typ formatu miał odrębny ciąg identyfikujący bajty. Może to być szczególnie przydatne w przypadku przesyłania i interpretacji plików online, gdzie identyfikujące rozszerzenie pliku może być arbitralne i nie można na nim polegać jako na identyfikatorze typu pliku.
Oprócz samego typu pliku podpis pliku może również zawierać informacje, które umożliwiają sprawdzenie błędów w pliku, dzięki czemu można potwierdzić, że przechowywane dane są nienaruszone. Jest to często wykonywane za pomocą funkcji znanej jako suma kontrolna. Suma kontrolna to funkcja, która wykorzystuje wartości całkowite z danych pliku do tworzenia wartości matematycznych, które można powielić po przesłaniu lub załadowaniu pliku. W najbardziej podstawowej formie proces ten polega na dodaniu wartości serii bajtów do pliku, a następnie na zarejestrowaniu sumy, umożliwiając programowi dekodującemu plik wykonanie tej samej funkcji. Jeśli wyniki są różne podczas dekodowania, plik mógł zostać uszkodzony, a dane mogą być nieprawidłowe lub zmodyfikowane w złośliwych celach.