Un program de semnătură în programarea computerelor este un bloc scurt de cod sursă necompilat care este atașat la sfârșitul unui e-mail sau al unei alte comunicări. Semnătura într-o comunicare electronică este un bloc de text care este atașat automat mesajelor trimise, uneori pentru a identifica utilizatorul. Când un bloc de cod este inclus în această zonă, acesta este cunoscut ca un program de semnătură. Majoritatea programelor de semnătură îndeplinesc funcții banale care scot date sau informații într-un mod surprinzător pentru concizia codului real. Limitările înseamnă că un program de semnătură nu este compilat, necesitând un vizualizator curios să-l compileze pentru a vedea rezultatele – o sarcină care necesită anumite cunoștințe de programare – ceea ce înseamnă că majoritatea programelor de semnătură sunt vizualizate în principal de cei din comunitatea de programare.
Unul dintre elementele unui program de semnătură este modul în care este scris. În loc să arate ca un cod normal de programare pentru computer, este adesea scris într-un mod abreviat foarte nestandard prin utilizarea funcțiilor, operatorilor și caracteristicilor limbajului care nu sunt adesea văzute. O parte din motivul acestui lucru este de a face codul dificil de citit, astfel încât rezultatul programului să nu fie ușor evident, deși se poate face și pentru a oferi un aspect care este într-un fel unic. Numele codului care a fost scris astfel încât să fie intenționat dificil de citit este cod ofuscat.
Ieșirea comună pentru un program de semnătură ar putea fi numele persoanei care a scris codul sau numele persoanei care trimite mesajul la care este atașat. Reprezentările grafice sau bazate pe text ale formulelor matematice și ale operațiilor recursive sunt, de asemenea, populare. Deși aproape orice ieșire este posibilă, codul sursă este de obicei menținut la mai puțin de patru linii, lungimea maximă tradițională a unui fișier de semnătură.
Formatarea propriu-zisă a codului sursă poate face parte din programul de semnătură, deoarece indică rezultatul care ar putea fi produs. Acest lucru se poate face uneori prin aranjarea codului sursă pentru a forma o imagine legată de rezultat sau folosind literele și simbolurile din cod pentru a scrie cuvinte. Acest lucru este posibil deoarece majoritatea compilatoarelor de programare ignoră mai multe spații și întreruperi de linie, uitându-se în schimb doar la caracterele reale dintr-o linie de cod.
O metodă suplimentară care este folosită pentru a afecta lungimea, funcționarea și uneori aspectul codului într-un program de semnătură este utilizarea macrocomenzilor. Macro-urile sunt o modalitate de a atribui o bucată de cod valid de computer unei secvențe mai scurte sau alternative de caractere sau simboluri. Când macro-ul este plasat ulterior în codul sursă, este înlocuit de compilator cu codul pe care îl reprezintă. Acest lucru nu numai că face un program de semnătură mai scurt, dar, prin utilizarea macrocomenzilor cu nume înșelătoare sau care încorporează alte macrocomenzi, programul poate deveni incredibil de dificil de citit.