Hvad er en filunderskrift?
En filsignatur i computerprogrammering er et unikt identifikationsnummer placeret i begyndelsen af en fil. Dette nummer identificerer filtypen og giver information om dataene indeholdt i den aktuelle fil. Disse oplysninger kan bruges til at bestemme, hvilken filtype der læses, når filtypenavnet eller brugerfejlen har forkert identificeret filen som en forkert type. Filsignaturen kan også indeholde oplysninger, der sikrer, at de originale data, der blev gemt i filen, stadig er intakte og ikke er blevet ændret. Kombinationen af disse elementer tillader, at en filsignatur fungerer som en vigtig form for verifikation, især mod computervirus.
Konceptet med en filsignatur dukkede op på grund af behovet for en filhoved, en blok af data i begyndelsen af en fil, der definerer parametrene for, hvordan information gemmes i filen. En del af headerinformationen er en sekvens af bytes, der definerer den filtype, der oprindeligt blev oprettet. Dette kan være en billedfil, et dokument fra et specifikt program eller endda en protokolletype, når en filstrøm bruges som en kommunikationsmetode mellem en klient og server. Filhovedet bruger ikke en defineret standard; den er i stedet ejendomsret til hvert andet format, hvilket betyder, at et program eller operativsystem har brug for en filsignaturdatabase for at bestemme typen af en ukendt fil.
Den faktiske filsignatur kaldes undertiden et magisk nummer. Ved programmering er dette en værdi, der er unik i det datafelt, det optager. Når man ser på en filhoved for at bestemme filtypen, betyder dette, at ingen to filsignaturer skal være de samme, hvilket gør det muligt for hver type format at have en distinkt identificerende bytesstreng. Dette kan være særligt nyttigt, når man beskæftiger sig med overførsel og fortolkning af filer online, hvor identificering af udvidelsen af en fil kan være vilkårlig og ikke kunne stole på som en identifikator for en filtype.
Ud over kun filtypen kan en filsignatur også indeholde oplysninger, der gør det muligt at udføre fejlkontrol på en fil, så de data, den har, kan bekræftes som intakte. Dette udføres ofte ved hjælp af en funktion kendt som et kontrolsum. Et kontrolsum er en funktion, der bruger heltalværdierne for fildataene til at oprette matematiske værdier, der kan replikeres, når en fil er overført eller indlæst. I den mest basale form involverer denne proces at tilføje værdierne for en række bytes i filen og derefter registrere summen, så programmet kan afkode filen for at udføre den samme funktion. Hvis resultaterne er forskellige under afkodning, kan filen muligvis være beskadiget, og data kan enten være ugyldige eller kunne være blevet ændret til ondsindede formål.