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

📄 085050_playfair_cipher.cpp

📁 playfair cipher c++ program and source code
💻 CPP
字号:
#include <stdio.h>
#include <conio.h>

main()
	{

	 char matrix[5][5]={{'c','r','y','p','t'},{'o','a','b','d','e'},{'f','g','h','i','k'},{'l','m','n','q','s'},{'u','v','w','x','z'}};
	 char text[500];
    int i,j,k,c=0,hor1,hor2,vert1,vert2,t,choice;
	 printf("\n ENTER YOUR TEXT : ");
	 while ((text[c]=getchar())!='\n')
				 c++;
	 printf("\n ENTER (1) FOR ENCRYPTION AND (2) FOR DECRYPTION: ");
	 scanf("%d",&choice);


	 if(choice==1)
		{
		for(i=0;i<c;i+=2)
			{
			if(text[i]=='j')
				text[i]='i';
			if(text[i+1]=='j')
				text[i+1]='i';
			if(text[i]==text[i+1])
				{
				 for(j=c;j>i;j--)
					 text[j+1]=text[j];
				 text[i+1]='x';
				 c++;
				}
			}

		if((c % 2) != 0)
			text[c]='x';

		

		for(i=0;i<c;i+=2)
			{
			 for(j=0;j<5;j++)
				for(k=0;k<5;k++)
					{
					if(matrix[j][k]==text[i])
						{hor1=j;vert1=k;}
					if(matrix[j][k]==text[i+1])
						{hor2=j;vert2=k;}
					}
			 if(hor1==hor2)
				{
				 if(vert1++<4)
					text[i]=matrix[hor1][vert1];
				 else
					text[i]=matrix[hor1][0];

				 if(vert2++<4)
					text[i+1]=matrix[hor2][vert2];
				 else
					text[i+1]=matrix[hor2][0];
				}

			 if(vert1==vert2)
				{
				 if(hor1++<4)
					text[i]=matrix[hor1][vert1];
				 else
					text[i]=matrix[0][vert1];

				 if(hor2++<4)
					text[i+1]=matrix[hor2][vert2];
				 else
					text[i+1]=matrix[0][vert2];
				}
			 if(hor1!=hor2 && vert1!=vert2)
				{
				 text[i]=matrix[hor1][vert2];
				 text[i+1]=matrix[hor2][vert1];
				}
			}
		 printf("\n ENCRYPTED TEXT USING PLAYFAIR CIPHER: ");
		 for(i=0;i<=c;i++)
			  printf("%c",text[i]);
       printf("\n\n\n\n\n Behzad Khiavchi \n std number:085050");
		 getch();
		}



	 if(choice==2)
		{
		 for(i=0;i<c;i+=2)
			{
			 for(j=0;j<5;j++)
				for(k=0;k<5;k++)
					{
					if(matrix[j][k]==text[i])
						{hor1=j;vert1=k;}
					if(matrix[j][k]==text[i+1])
						{hor2=j;vert2=k;}
					}
			 if(hor1==hor2)
				{
				 if(vert1-->0)
					text[i]=matrix[hor1][vert1];
				 else
					text[i]=matrix[hor1][4];

				 if(vert2-->0)
					text[i+1]=matrix[hor2][vert2];
				 else
					text[i+1]=matrix[hor2][4];
				}

			 if(vert1==vert2)
				{
				 if(hor1-->0)
					text[i]=matrix[hor1][vert1];
				 else
					text[i]=matrix[4][vert1];

				 if(hor2-->0)
					text[i+1]=matrix[hor2][vert2];
				 else
					text[i+1]=matrix[4][vert2];
				}
			 if(hor1!=hor2 && vert1!=vert2)
				{
				 text[i]=matrix[hor1][vert2];
				 text[i+1]=matrix[hor2][vert1];
				}
			}
		 printf("\n DECRYPTED TEXT USING PLAYFAIR CIPHER:: ");
		 for(i=0;i<=c;i++)
			  printf("%c",text[i]);
       printf("\n\n\n\n\n Behzad Khiavchi\n std number:085050");
		 getch();
		}


	}





⌨️ 快捷键说明

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