Tanda tangan file dalam pemrograman komputer adalah nomor pengenal unik yang terletak di awal file. Nomor ini mengidentifikasi jenis file, memberikan informasi tentang data yang terkandung dalam file yang sebenarnya. Informasi ini dapat digunakan untuk menentukan jenis file apa yang sedang dibaca ketika ekstensi file atau kesalahan pengguna salah mengidentifikasi file sebagai tipe yang salah. Tanda tangan file juga dapat berisi informasi yang memastikan data asli yang disimpan dalam file masih utuh dan belum dimodifikasi. Kombinasi elemen-elemen ini memungkinkan tanda tangan file berfungsi sebagai bentuk verifikasi yang penting, terutama terhadap virus komputer.
Konsep tanda tangan file muncul karena kebutuhan akan file header, blok data di awal file yang mendefinisikan parameter bagaimana informasi disimpan dalam file. Bagian dari informasi header adalah urutan byte yang mendefinisikan jenis file yang awalnya dibuat. Ini bisa berupa file gambar, dokumen dari program tertentu, atau bahkan tipe protokol ketika aliran file digunakan sebagai metode komunikasi antara klien dan server. Header file tidak menggunakan standar yang ditentukan; itu, sebaliknya, adalah hak milik untuk setiap format yang berbeda, yang berarti program atau sistem operasi memerlukan database tanda tangan file untuk menentukan jenis file yang tidak dikenal.
Tanda tangan file yang sebenarnya kadang-kadang disebut sebagai angka ajaib. Dalam pemrograman, ini adalah nilai unik di bidang data yang ditempatinya. Saat melihat header file untuk menentukan jenis file, ini berarti tidak ada dua tanda tangan file yang harus sama, memungkinkan setiap jenis format memiliki string byte pengidentifikasi yang berbeda. Ini dapat menjadi kegunaan khusus ketika berurusan dengan transfer dan interpretasi file secara online, di mana ekstensi identifikasi file dapat berubah-ubah dan tidak dapat diandalkan sebagai pengidentifikasi untuk jenis file.
Selain hanya jenis file, tanda tangan file juga dapat berisi informasi yang memungkinkan pemeriksaan kesalahan dilakukan pada file sehingga data yang disimpannya dapat dipastikan utuh. Ini sering dilakukan dengan menggunakan fungsi yang dikenal sebagai checksum. Checksum adalah fungsi yang menggunakan nilai integer dari data file untuk membuat nilai matematika yang dapat direplikasi setelah file ditransfer atau dimuat. Dalam bentuk yang paling dasar, proses ini melibatkan penambahan nilai dari serangkaian byte dalam file dan kemudian merekam jumlah, memungkinkan program decoding file untuk melakukan fungsi yang sama. Jika hasilnya berbeda selama decoding, maka file tersebut mungkin telah rusak dan data mungkin tidak valid atau telah dimodifikasi untuk tujuan jahat.