对于字符串的简单加密、解密,可以通过对字符的ASCII码进行加减法来改变值,即可作为对字符串的加密操作。当然,解密就是对字符的ASCII码进行与加密相反的操作即可。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int result=1; //1:加密 2:解密 3:退出
int i;
int count=0; //统计字符串长度
char Text[128]={'\0'}; //存储需要加密的字符串
char Cryptograph[128]={'\0'};
while (1)
{
if (result==1)
{
printf("请输入要加密的明文:\n");
scanf("%s",&Text);
count=strlen(Text);
for (i=0;i<count;i++)
Cryptograph[i]=Text[i]+i+5;
Cryptograph[i]='\0';
printf("加密后的密文是:%s \n",Cryptograph);
}
else if (result==2)
{
count=strlen(Text);
for (i=0;i<count;i++)
Text[i]=Cryptograph[i]-i-5;
Text[i]='\0';
printf("解密后的明文是:%s \n",Text);
}
else if (result==3)
break;
else
printf("请输入正确命令符:\n");
printf(" 请输入: 1. 加密新的明文\n");
printf(" 2. 对刚加密的密文进行解密\n");
printf(" 3. 退出系统\n");
printf("请输入命令符:\n");
scanf("%d",&result);
}
system("pause");
return 0;
}