Wat is een bestandshandtekening?
Een bestandshandtekening in computerprogrammering is een uniek identificatienummer dat zich aan het begin van een bestand bevindt. Dit nummer geeft het type bestand aan en geeft informatie over de gegevens in het eigenlijke bestand. Deze informatie kan worden gebruikt om te bepalen welk type bestand wordt gelezen wanneer de bestandsextensie of gebruikersfout het bestand verkeerd heeft geïdentificeerd als een onjuist type. De bestandshandtekening kan ook informatie bevatten die ervoor zorgt dat de originele gegevens die in het bestand zijn opgeslagen, nog steeds intact zijn en niet zijn gewijzigd. Door de combinatie van deze elementen kan een bestandshandtekening dienen als een belangrijke vorm van verificatie, met name tegen computervirussen.
Het concept van een bestandshandtekening is ontstaan vanwege de noodzaak van een bestandskop, een gegevensblok aan het begin van een bestand dat de parameters definieert van hoe informatie in het bestand wordt opgeslagen. Een deel van de kopinformatie is een reeks bytes die het bestandstype definieert dat oorspronkelijk is gemaakt. Dit kan een afbeeldingsbestand zijn, een document van een specifiek programma of zelfs een protocoltype wanneer een bestandsstroom wordt gebruikt als communicatiemethode tussen een client en een server. De bestandskop gebruikt geen gedefinieerde standaard; in plaats daarvan is het eigendom van elk ander formaat, wat betekent dat een programma of besturingssysteem een database met bestandskenmerken nodig heeft om het type onbekend bestand te bepalen.
De werkelijke bestandshandtekening wordt soms een magisch nummer genoemd. Bij het programmeren is dit een unieke waarde in het gegevensveld dat het in beslag neemt. Wanneer u naar een bestandskop kijkt om het bestandstype te bepalen, betekent dit dat geen twee bestandshandtekeningen hetzelfde moeten zijn, waardoor elk type indeling een afzonderlijke identificerende reeks bytes heeft. Dit kan met name nuttig zijn bij de online overdracht en interpretatie van bestanden, waarbij de identificerende extensie van een bestand willekeurig kan zijn en niet kan worden vertrouwd als een identificatie voor een bestandstype.
Naast alleen het bestandstype kan een bestandshandtekening ook informatie bevatten waarmee foutcontrole op een bestand kan worden uitgevoerd, zodat kan worden bevestigd dat de gegevens die het bevat intact zijn. Dit wordt vaak uitgevoerd met een functie die een controlesom wordt genoemd. Een controlesom is een functie die de gehele waarden van de bestandsgegevens gebruikt om wiskundige waarden te maken die kunnen worden gerepliceerd nadat een bestand is overgedragen of geladen. In de meest basale vorm omvat dit proces het toevoegen van de waarden van een reeks bytes in het bestand en vervolgens het opnemen van de som, zodat het programma dat het bestand decodeert dezelfde functie kan uitvoeren. Als de resultaten tijdens het decoderen anders zijn, is het bestand mogelijk beschadigd en kunnen gegevens ongeldig zijn of zijn gewijzigd voor schadelijke doeleinden.