⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vigenere.cpp

📁 用c++实现的对Vigenere密码的解密程序
💻 CPP
字号:
//***********************************
//*******     vigenere.cpp     ******
//***********************************
#include<iostream.h>
#include<string.h>

void main(){
	char a[100];
	int b;
	int c;			//密文的asc码
	char key[5];	//密钥
	int k;			//密钥转换成的右移位数
	cout<<"请输入明文,只能是字母,且少于100位"
		<<endl;
	cin>>a;
	cout<<"请输入密钥(五位字母,不区分大小写):"
		<<endl;
	cin>>key;

	for(int p=0;p<5;p++){						//将密钥中的字母转换成相应
		if(key[p]>=97 && key[p]<=122)			//的1-26之间的数字作为右移位数
			key[p]=key[p]-96;
		else if(key[p]>=65 && key[p]<=90)
			key[p]=key[p]-64;
	}
	
	cout<<"密文是:";
	for(int i=0;i<=99;i++){
		if(a[i]>=97 && a[i]<=122)
			b=a[i]-96;
		else if(a[i]>=65 && a[i]<=90)
			b=64-a[i];
		else b=0;
		k=key[i%5];			//密钥长度为五,所以取模以达到循环的目的
		if(b>0){
			c=(b+k) % 26;
			c=c+96;
		}
		if(b<0){
			c=(b-k) % 26;
			c=64-c;
		}
		if(b==0)break;
		cout<<char(c);
	}
	cout<<endl;
}

⌨️ 快捷键说明

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