思路:加密的方式是将字符串中每个字符加上它在字符串中的位置和一个偏移值5。
以字符串“microsoft”为例,第一个字符m在字符串中的位置为0,那么它对应的密文是
‘m’+0+5,即r。
下面为一个加密和解密的程序,在对一个指定的字符串加密之后,利用解密函数能够对密文解密,
显示明文信息
#include <stdio.h>
#include <string.h>
int main()
{
int result=1;
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);
}
return 0;
}
加载中,请稍候......