Ce este o semnătură de fișier?

O semnătură de fișier în programarea computerelor este un număr unic de identificare situat la începutul unui fișier. Acest număr identifică tipul de fișier, oferind informații despre datele conținute în fișierul propriu-zis. Aceste informații pot fi folosite pentru a determina ce tip de fișier este citit atunci când extensia de fișier sau eroarea utilizatorului a identificat greșit fișierul ca tip incorect. Semnătura fișierului poate conține, de asemenea, informații care asigură că datele originale care au fost stocate în fișier sunt încă intacte și nu au fost modificate. Combinația acestor elemente permite unei semnături de fișier să servească drept formă importantă de verificare, în special împotriva virușilor informatici.

Conceptul de semnătură de fișier a apărut din cauza necesității unui antet de fișier, un bloc de date la începutul unui fișier care definește parametrii modului în care informațiile sunt stocate în fișier. O parte a informațiilor din antet este o secvență de octeți care definește tipul de fișier care a fost creat inițial. Acesta poate fi un fișier imagine, un document dintr-un anumit program sau chiar un tip de protocol atunci când un flux de fișiere este utilizat ca metodă de comunicare între un client și un server. Antetul fișierului nu folosește un standard definit; în schimb, este proprietar pentru fiecare format diferit, ceea ce înseamnă că un program sau un sistem de operare are nevoie de o bază de date cu semnături de fișiere pentru a determina tipul unui fișier necunoscut.

Semnătura reală a fișierului este uneori denumită un număr magic. În programare, aceasta este o valoare unică în câmpul de date pe care îl ocupă. Când se uită la antetul unui fișier pentru a determina tipul de fișier, aceasta înseamnă că două semnături de fișier nu ar trebui să fie la fel, permițând ca fiecare tip de format să aibă un șir de octeți de identificare distinct. Acest lucru poate fi de folos în special atunci când se ocupă cu transferul și interpretarea fișierelor online, în cazul în care extensia de identificare a unui fișier ar putea fi arbitrară și nu poate fi invocată ca identificator pentru un tip de fișier.

Pe lângă tipul de fișier, o semnătură de fișier poate conține și informații care permit verificarea erorilor pe un fișier, astfel încât datele pe care le deține să poată fi confirmate ca fiind intacte. Acest lucru este adesea realizat folosind o funcție cunoscută sub numele de sumă de control. O sumă de control este o funcție care utilizează valorile întregi ale datelor fișierului pentru a crea valori matematice care pot fi replicate după ce un fișier este transferat sau încărcat. În cea mai simplă formă, acest proces presupune adăugarea valorilor unei serii de octeți în fișier și apoi înregistrarea sumei, permițând programului care decodifică fișierul să îndeplinească aceeași funcție. Dacă rezultatele sunt diferite în timpul decodării, atunci fișierul ar fi putut fi corupt, iar datele ar putea fi fie nevalide, fie ar fi putut fi modificate în scopuri rău intenționate.