【文件属性】:
文件名称:C语言凯撒移位加密算法
文件大小:3KB
文件格式:CPP
更新时间:2014-04-03 08:49:12
凯撒加密算法
c语言编写,欢迎扔板砖
//移位算法
#include
#include
#define SIZE 50
int main()
{
//i 用于计数输入个数,j 为临时变量, plain 存放明文, cipher 存放密文,decryption存放解密后文本,fpp 为明文文件指针,fpc 为密文文件指针
int i,j;
char plain[SIZE],cipher[SIZE],decryption[SIZE],ciphertext[SIZE];
FILE * fpp,* fpc,* fpd;
//加密
//建立新的明文TXT文件
printf("Caesar algorithm\n");
if((fpp=fopen("plain.txt","w+"))==NULL)
{
printf("creat new plain file error!\n");
exit(0);
}
//输入明文
printf("input plain alphabet:\n");
i=0;
scanf("%c",&plain[i]);
while(plain[i]!='\n'&&i99)
{
printf("cipher %d = %c\n",j,cipher[j]);
}
else if(cipher[j]>122)
{
cipher[j]=cipher[j]%122+96;
printf("cipher %d = %c\n",j,cipher[j]);
}
else if(cipher[j]>90)
{
cipher[j]=cipher[j]%90+64;
printf("cipher %d = %c\n",j,cipher[j]);
}
else
{
printf("cipher %d = %c\n",j,cipher[j]);
}
}
//建立密文文件
if((fpc=fopen("cipher.txt","w+"))==NULL)
{
printf("create new cipher file error!");
exit(0);
}
for(j=0;j90&&decryption[j]<97)
{
decryption[j]=123-(97-decryption[j]);
printf("character %d = %c\n",j,decryption[j]);
}
else
{
printf("character %d = %c\n",j,decryption[j]);
}
}
printf("finish decryption!\n");
if((fpd=fopen("decryption.txt","w+"))==NULL)
{
printf("cann't create decryption file!\n");
exit(0);
}
for(j=0;j