1.cpp
来自「密码学的又一古典算法:维吉利亚算法.欢迎喜欢密码学的同学和我交流,谢谢,多多指教」· C++ 代码 · 共 71 行
CPP
71 行
#include<stdio.h>
#include<ctype.h>
#include<string.h>
void main()
{
char cho,choo;//two kinds of choice which is iuput from keyboard
int rot;
char key[256],text[256],code[256];//table of crypto and plaintext
int i,k_len,t_len;// length of secret key and plaintext
rot=1;
while(rot)
{
printf("Encryption or Decryption?(E/D):");
cho=getchar();
getchar();
printf("\nInput key:");
gets(key);
puts(key);
printf("\nInput text:");
gets(text);
puts(text);
k_len=strlen(key);
t_len=strlen(text);
if(cho=='E')
{
for(i=0;i<t_len;i++)
code[i]=((text[i]-65)+(key[i%k_len]-65))%26+65;
printf("\n");
printf("The CRYPTION is:\n%");
for(i=0;i<t_len;i++)
{
printf("%c",code[i]);
}
}
if(cho=='D')
{
for(i=0;i<t_len;i++)
code[i]=((text[i]-65)-(key[i%k_len]-65))%26+65;
printf("The PLAINTEXT is:\n%");
for(i=0;i<t_len;i++)
{
printf("%c",code[i]);
}
}
printf("\nQuit or Continue?(Q/C)请用大写输入!:");
scanf("%c",&choo);
getchar();
if(choo=='Q')
rot=0;
}//while
}//main
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?