📄 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 + -