Podpis datoteke v računalniškem programiranju je edinstvena identifikacijska številka, ki se nahaja na začetku datoteke. Ta številka označuje vrsto datoteke in daje informacije o podatkih v dejanski datoteki. Te informacije je mogoče uporabiti za določitev vrste datoteke, ki se bere, ko je pripona datoteke ali uporabniška napaka napačno prepoznala datoteko kot napačno vrsto. Podpis datoteke lahko vsebuje tudi informacije, ki zagotavljajo, da so izvirni podatki, ki so bili shranjeni v datoteki, še vedno nedotaknjeni in niso bili spremenjeni. Kombinacija teh elementov omogoča, da podpis datoteke služi kot pomembna oblika preverjanja, zlasti pred računalniškimi virusi.
Koncept podpisa datoteke se je pojavil zaradi potrebe po glavi datoteke, bloku podatkov na začetku datoteke, ki določa parametre, kako so informacije shranjene v datoteki. Del informacij o glavi je zaporedje bajtov, ki definira prvotno ustvarjeno vrsto datoteke. To je lahko slikovna datoteka, dokument iz določenega programa ali celo vrsta protokola, ko se tok datotek uporablja kot komunikacijska metoda med odjemalcem in strežnikom. Glava datoteke ne uporablja definiranega standarda; namesto tega je lastniška vsakemu drugemu formatu, kar pomeni, da program ali operacijski sistem potrebuje bazo podatkov s podpisi datotek, da določi vrsto neznane datoteke.
Dejanski podpis datoteke se včasih imenuje čarobna številka. Pri programiranju je to edinstvena vrednost v podatkovnem polju, ki ga zaseda. Ko pogledate glavo datoteke, da določite vrsto datoteke, to pomeni, da nobena podpisa datoteke ne bi smela biti enaka, kar omogoča, da ima vsaka vrsta formata ločen identifikacijski niz bajtov. To je lahko še posebej koristno, ko se ukvarjate s prenosom in interpretacijo datotek na spletu, kjer je lahko identifikacijska razširitev datoteke poljubna in se nanjo ne moremo zanesti kot identifikator za vrsto datoteke.
Poleg samo vrste datoteke lahko podpis datoteke vsebuje tudi informacije, ki omogočajo preverjanje napak v datoteki, tako da se lahko potrdi, da so podatki, ki jih hrani, nedotaknjeni. To se pogosto izvaja s funkcijo, znano kot kontrolna vsota. Kontrolna vsota je funkcija, ki uporablja cele vrednosti podatkov datoteke za ustvarjanje matematičnih vrednosti, ki jih je mogoče replicirati po prenosu ali nalaganju datoteke. V najosnovnejši obliki ta postopek vključuje dodajanje vrednosti niza bajtov v datoteki in nato snemanje vsote, kar omogoča programu, ki dekodira datoteko, da izvede isto funkcijo. Če so rezultati med dekodiranjem drugačni, je bila datoteka morda poškodovana in podatki so lahko neveljavni ali pa so bili spremenjeni za zlonamerne namene.