Bilgisayar programcılığındaki imza programı, bir e-postanın veya diğer iletişimin sonuna eklenmiş, derlenmemiş kaynak kodunun kısa bir blokudur. Elektronik iletişimdeki imza, bazen kullanıcıyı tanımlamak için giden mesajlara otomatik olarak iliştirilen bir metin bloğudur. Bu alana bir kod bloğu dahil edildiğinde, imza programı olarak bilinir. İmza programlarının çoğu, gerçek kodun kısaltması için veri veya bilgileri şaşırtıcı bir şekilde veren önemsiz işlevleri gerçekleştirir. Sınırlamalar, bir imza programının derlenmediği anlamına gelir; meraklı bir izleyicinin sonuçları görmek için derlemesini gerektirir - bazı programlama bilgisi gerektiren bir görev - yani çoğu imza programı çoğunlukla programlama topluluğundaki kişiler tarafından görülür.
İmza programının unsurlarından biri de yazılma şeklidir. Normal bilgisayar programlama kodu gibi görünmek yerine, genellikle görülmeyen işlevler, operatörler ve dil özellikleri kullanılarak standart dışı kısaltılmış bir şekilde yazılır. Bunun nedeni kodun okunmasını zorlaştırmaktır, böylece program çıktısı kolayca görünmeyebilir, ancak aynı zamanda benzersiz bir görünüm sağlamak için de yapılabilir. Kasıtlı olarak okumak zor olduğu için yazılan kodun adı gizli koddur.
Bir imza programının ortak çıktısı, kodu yazan kişinin adı veya ekli olduğu iletiyi gönderen kişinin adı olabilir. Matematiksel formüllerin grafiksel veya metin tabanlı gösterimleri ve özyinelemeli işlemler de popülerdir. Neredeyse herhangi bir çıktı mümkün olsa da, kaynak kodu genellikle, bir imza dosyasının geleneksel maksimum uzunluğu olan dört satırdan daha azına tutulur.
Kaynak kodun fiili biçimlendirilmesi, imzalanan programın üretilebilecek çıktıya işaret ettiği bir parçası olabilir. Bu bazen çıktı ile ilgili bir resim oluşturmak için kaynak kodunu düzenleyerek veya kodları harfleri ve simgeleri kullanarak kelimeleri heceleyerek yapabilirsiniz. Bu mümkündür çünkü çoğu programlama derleyicisi birden fazla boşluk ve satır kesmesini yok sayar, bunun yerine sadece bir kod satırındaki gerçek karakterlere bakar.
Bir imza programında kodun uzunluğunu, işleyişini ve bazen de görünümünü etkilemek için kullanılan ek bir yöntem makroların kullanılmasıdır. Makrolar, daha kısa veya alternatif bir karakter veya semboller dizisine geçerli bir bilgisayar kodu parçası atamanın bir yoludur. Makro kaynak koduna daha sonra yerleştirildiğinde, derleyici tarafından temsil ettiği kod ile değiştirilir. Bu sadece bir imza programını daha kısa hale getiremez, ancak yanıltıcı isimlere sahip makroları kullanarak veya diğer makroları içeren programların okunması inanılmaz derecede zor olabilir.


