加密解密代码.doc
文本预览下载声明
#includestdio.h
#includestring.h
#includemath.h
#define L 50
#define l 26
int CharAt(char str[],char ch)//此方法是用来寻找字符在字符串中的位置
{
int i;//,lg;
//lg=strlen(str);
for(i=0;i26;i++)
{
if(str[i]==ch)
{
return i+1;
}
}
return -1;
}
int CreatShow(char show[])//创建明文
{
int i,shlg;
for(i=0;i50;i++)
{
show[i]=\0;
}
printf(\n请输入明文!\n);
fflush(stdin);
gets(show);
shlg=strlen(show);
return shlg;
}
int CreatShade(char shade[])//创建密文
{
int i,sdlg;
for(i=0;i50;i++)
{
shade[i]=\0;
}
printf(\n请输入密文!\n);
fflush(stdin);
gets(shade);
sdlg=strlen(shade);
return sdlg;
}
int CreatKey(char key[])//创建密钥
{
int i,klg;
for(i=0;i26;i++)
{
key[i]=\0;
}
printf(\n请输入密钥!\n);
fflush(stdin);
gets(key);
for(i=0;key[i]!=\0;i++)
{
klg=i+1;
}
return klg;
}
int Check(char Data)
{
if((DataA||DataZ)(Dataa||Dataz))
{
printf(输入不正确!\n);
return 0;
}
else if(Data== )
{
return 0;
}
return 1;
}
void EncodeCasser()//凯撒加密算法
{
int i,shlg;
char Show[50],Shade[50];
shlg=CreatShow(Show);
for(i=0;ishlg;i++)
{
if(Check(Show[i]))
{
if(Show[i]=aShow[i]=z)
{
Shade[i]=Show[i]-32;
}
else
{
Shade[i]=Show[i];
Show[i]+=32;
}
if(Shade[i]+17Z)
{
Shade[i]-=9;
}
else
{
Shade[i]+=17;
}
}
else
{
printf(本系统不支持空格!请重新输入!\n);
return;
}
}
Shade[i]=\0;
printf(\n明文是:%s,Show);
printf(\n转换后是:%s\n,Shade);
}
void DncodeCasser()//凯撒解密算法
{
int i,sdlg;
char Show[50],Shade[50];
sdlg=CreatShade(Shade);
for(i=0;isdlg;i++)
{
if(Check(Shade[i]))
{
if(Shade[i]=AShade[i]=Z)
{
Show[i]=Shade[i]+32;
}
else
{
Show[i]=Shade[i];
Shade[i]-=32;
}
if(Show[i]-17a)
{
Show[i]+=9;
}
else
{
Show[i]-=17;
}
}
else
{
printf(本系统不支持空格!请重新输入!\n);
return;
}
}
Show[i]=\0;
printf(\n密文是:%s,Shade);
printf(\n转换后是:%s\n,Show);
}
void Casser()//凯撒算法
{
char ch;
printf(......... 凯撒密码算法 .........\n);
printf(......... .........\n);
pri
显示全部