beaufort.cpp

来自「三种密码学中简单的加密算法:Playfair」· C++ 代码 · 共 39 行

CPP
39
字号
#include <iostream.h>
#include <string.h>
void main()
{
	char text[200],key[20],code[200];
	int t[200],k[20],c[200],l1,l2,i,j,l=1;
	cout<<"Please input the clear text (with lowercase letters):"<<endl;
    cin>>text;
	cout<<"Please input the cryptographic key (with lowercase letters):"<<endl;
	cin>>key;
	l1=strlen(text);
    l2=strlen(key);
	for (i=0;i<l1;i++)
	{
		t[i]=int(text[i])-97;
		if (t[i]<0 ||t[i]>25)
			l=0;
	}
    for (i=0;i<l2;i++)
	{
		k[i]=int(key[i])-97;
		if (k[i]<0 ||k[i]>25)
			l=0;
	}
	if (l=0)
		cout<<"Error!"<<endl;
	else
	{
        cout<<"The cryptograph is:"<<endl;
		for (i=0;i<l1/l2+1;i++)
			for (j=0;(j<l2)&&(i*l2+j<l1);j++)
			{
				c[i*l2+j]=(25-t[i*l2+j]+k[j])%26;
				code[i*l2+j]=char(c[i*l2+j]+97);
				cout<<code[i*l2+j];
			}
	}
	cout<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?