?? vigenre.c
字號:
/*本程序僅實現Vigrnre加密的加密算法思想,沒有*/
/*做具體應用之用,沒有加入對特殊情況的處理, */
/*比如對空格,大小寫的兼容處理,因此要求輸入 */
/*只能為全部大寫,且無空格空開 by tom */
#include<stdio.h>
#include<string.h>
char fun(char const,int);
int makekey(char);
int main()
{
char N1[50],N2[50],N3[50];
int n,f,m;
char *M,*K,*C;
M=N1,K=N2,C=N3;
printf("請保證所有字母為大寫字母\n");
printf("輸入你要加密的明文:\n");
scanf("%s",M);
lable: printf("輸入你的加密密鑰:\n");
scanf("%s",K);
n=strlen(M);
m=strlen(K);
if(n!=m){
printf("請重新輸入加密密鑰\n");
goto lable;}
for(f=0;f<n;f++)
C[f]=fun(M[f],makekey(K[f]));
C[f]='\0';
printf("加密密文為:\n");
printf("%s\n",C);
getch();
return 0;
}
char fun(char const word,int key)
{
char temp;
temp=word-65;
temp=(temp+key)%26;
return (temp+65);
}
int makekey(char const word)
{
return (word-65);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -