依据其加密原理,用C++编写了一个加密器。用到了ASCII码,字符串数组,循环结构。水平所限,还没有写出其解密器的程序。
#include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
int main()
{
int i,a,b;
char m[]="NOWWEAREINAVERYSERIOUSSITUATIONWENEEDHELPNOWPLEASEARIVEBEFORESEVENTHIRTY";
//输入密文
a=sizeof(m)-2;
cout<<"m=";
for(i=0;i<=a;i++)
{
cout<<m[i];
}
char k[a+1]="FARM";
//输入密钥
b=4;
for(i=b;i<=a;i++)
{
if((i+1)%4==0) k[i]='F';
else if((i+1)%4==1) k[i]='U';
else if((i+1)%4==2) k[i]='C';
else k[i]='K';
}
char s[a+1];
for(i=0;i<=a;i++)
{
s[i]=m[i]+k[i]-65;
if(s[i]<=64)
{
s[i]=s[i]+26;
}
else if(s[i]>=91)
{
s[i]=s[i]-26;
}
else s[i]=s[i];
}
cout<<endl<<endl<<"k=";
for(i=0;i<=a;i++)
{
cout<<k[i];
}
cout<<endl<<endl<<"s=";
for(i=0;i<=a;i++)
{
cout<<s[i];
}
//生成明文
system("pause");
return 0;
}