Un programma di firma nella programmazione del computer è un breve blocco di codice sorgente non compilato che viene allegato alla fine di un’e-mail o di un’altra comunicazione. La firma in una comunicazione elettronica è un blocco di testo che viene allegato automaticamente ai messaggi in uscita, a volte per identificare l’utente. Quando un blocco di codice è incluso in quest’area, è noto come programma di firma. La maggior parte dei programmi di firma esegue funzioni banali che emettono dati o informazioni in modo sorprendente per la brevità del codice effettivo. Le limitazioni significano che un programma di firma non viene compilato, richiedendo a un visualizzatore curioso di compilarlo per vedere i risultati – un’attività che richiede alcune conoscenze di programmazione – il che significa che la maggior parte dei programmi di firma sono visualizzati principalmente da quelli all’interno della comunità di programmazione.
Uno degli elementi di un programma di firma è il modo in cui è scritto. Invece di sembrare un normale codice di programmazione per computer, è spesso scritto in un modo abbreviato molto non standard attraverso l’uso di funzioni, operatori e caratteristiche del linguaggio che non si vedono spesso. Parte della ragione di ciò è rendere il codice difficile da leggere in modo che l’output del programma non sia immediatamente evidente, sebbene possa anche essere fatto per fornire un aspetto che sia in qualche modo unico. Il nome del codice che è stato scritto in modo che sia intenzionalmente difficile da leggere è codice offuscato.
L’output comune per un programma di firma potrebbe essere il nome della persona che ha scritto il codice o il nome della persona che invia il messaggio a cui è allegato. Sono popolari anche le rappresentazioni grafiche o testuali di formule matematiche e operazioni ricorsive. Sebbene sia possibile quasi qualsiasi output, il codice sorgente viene solitamente mantenuto a meno di quattro righe, la lunghezza massima tradizionale di un file di firma.
L’effettiva formattazione del codice sorgente può essere parte del programma di firma in quanto suggerisce l’output che potrebbe essere prodotto. Questo a volte può essere fatto organizzando il codice sorgente per formare un’immagine correlata all’output o usando le lettere e i simboli nel codice per sillabare le parole. Ciò è possibile perché la maggior parte dei compilatori di programmazione ignora più spazi e interruzioni di riga, guardando invece solo i caratteri effettivi in una riga di codice.
Un metodo aggiuntivo utilizzato per influenzare la lunghezza, il funzionamento e talvolta l’aspetto del codice in un programma di firma è l’uso di macro. Le macro sono un modo per assegnare una parte di codice valido del computer a una sequenza più corta o alternativa di caratteri o simboli. Quando la macro viene inserita successivamente nel codice sorgente, viene sostituita dal compilatore con il codice che rappresenta. Ciò non solo rende più breve un programma di firma ma, utilizzando macro con nomi fuorvianti o che incorporano altre macro, il programma può diventare incredibilmente difficile da leggere.