C Code 35 _ To Perform Encryption and Decryption using Caesar Cipher
Sample Input:
Message to Encrypt : abcd
Shifting value : 2
Sample Output:
Encrypted Message : cdef
Explanation:
According to the shift value right we need to shift each character.
if we shift ' a ' two times right we get ' c ' , simillarly if we shift ' y ' two times right we get ' a ' and so on.
Simillarly for decryption we need to shift value left .
if we shift ' d ' one time left we get ' c ' and if we shift ' a ' one time left we get ' z ' and so on.
Program:
#include<stdio.h>
int main()
{
char
str[200],stre[200];
int
n,i=0,m,ch;
printf("*
* * Encryption and Decryption of a Message using Caesar Cipher * * *");
printf("\n\n1
- Encryption\n2 - Decryption\n\nEnter Your Choice : ");
scanf("%d",&ch);
switch(ch)
{
case
1:
printf("\n\nEnter
a String to encrypt : ");
fflush(stdin);
gets(str);
printf("\n\nEnter
a shift value(number) : ");
scanf("%d",&n);
while(str[i]!='\0')
{
if(str[i]==32)
{
stre[i]=str[i];
i=i+1;
}
else
{
if(str[i]>=65&&str[i]<=90)
{
m=(int)str[i]-65;
m=(m+n)%26;
stre[i]=m+65;
}
else
if(str[i]>=97&&str[i]<=122)
{
m=(int)str[i]-97;
m=(m+n)%26;
stre[i]=m+97;
}
else
{
stre[i]=str[i];
}
i=i+1;
}
}
stre[i]='\0';
printf("\n\nEncrypted
string : %s",stre);
break;
case
2:
printf("\n\nEnter
a String to decrypt : ");
fflush(stdin);
gets(stre);
printf("\n\nEnter
a shift value(number) : ");
scanf("%d",&n);
while(stre[i]!='\0')
{
if(stre[i]==32)
{
str[i]=stre[i];
i=i+1;
}
else
{
if(stre[i]>=65&&stre[i]<=90)
{
m=(int)stre[i]-65;
m=(m-n)%26;
if(m<0)
{
m=m+26;
}
str[i]=m+65;
}
else
if(stre[i]>=97&&stre[i]<=122)
{
m=(int)stre[i]-97;
m=(m-n)%26;
if(m<0)
{
m=m+26;
}
str[i]=m+97;
}
else
{
str[i]=stre[i];
}
i=i+1;
}
}
str[i]='\0';
printf("\n\nDecrypted
string : %s",str);
break;
default:
printf("\n\nEnter
a valid choice 1 or 2 only");
}
return
0;
}
Output:
Thank You ...
How Internet Works : https://iamafutureprogrammer.blogspot.com/p/how-internet-works.html
0 comments: