A cipher er en simpel form for kode, der erstatter hvert bogstav i hemmelig besked med et bestemt symbol eller tegn. Et af de kendte mest udbredte er Caesar cipher , der blot forskud alfabetet et givet antal bogstaver, så A er B og B er C eller A er M og B er N, afhængigt af hvor langt du skifte den. Ved at manipulere ASCII-værdier , kan du nemt skrive et program i C , der kan udføre operationer som dette for dig på flue , øjeblikkeligt kryptere enhver meddelelse, du skriver . Instruktioner
1
Medtag standard input /output header fil og erklære en krypterings funktion, der tager et heltal. Denne integer vil repræsentere antallet af bogstaver til at skifte kode. I en cipher med en forskydning på 1, vil A være B , med et skift på 2, vil A være C og så videre. Denne foreløbige kode skal se sådan ud : Hej
# include
void kryptere ( int letter_shift )
2
Opret kryptere () funktion . Dette bør begynde med at erklære en char variabel, der vil stå for brevet øjeblikket kodet eller dekodes. Udskriv en meddelelse på skærmen beder om input , og derefter gemme dette input i char variabel. Det skal se nogenlunde sådan her : Hej
void kryptere ( int letter_shift )
{
char ch ;
printf ("Indtast din tekst til at kryptere : ")
lm = getchar ();
3
Skriv en while-løkke , der undersøger det aktuelle tegn og udfører kryptering. Sløjfen skal kontrollere at se, om karakteren falder inden for ASCII alfabet rækkevidde, kun kryptering , hvis den gør, og flytte breve nær slutningen af alfabetet tilbage til begyndelsen . Denne måde, en cipher med en forskydning på 1 vil gøre Z som A , ikke som [ . Sløjfen udskriver hvert bogstav på skærmen , da den krypterer det, kun stopper, når det støder på den newline karakter. Denne anden halvdel af kryptere () funktion skal se ud som følgende : Hej
while ( lm = '\\ n' !)
{
If ( isalpha (CH) )
{
if ( isupper (CH) && isupper ( ch + letter_shift )