求C语言课程设计——加密与解密!请高手帮忙!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/15 23:57:56
下面是我的课程设计题目:数据的加密与解密
1) 采用换位法进行加密和解密;
2) 输入英文句子后,再输入换位位数(密钥),即可输出密文;
3) 输入密文后再输入换位位数则可输出明文;
4) 在此基础上,可进行文件操作。
注:换位法加密的原理是将英文句子中的空格去除,然后将句子排成若干行,每行的字符数为换位位数,再按列输出即为密文,不足部分填入随机字母。例如英文Can you come here若换位位数取4,则形成矩阵
c a n y
o u c o
m e h e
r e * * ,*代表随机字母则密文为comraueenchayoeb,还请那位高手忙我解决,要原程序!就20分都给你了!

/* Turbo 2.0 pass. give file a password! */

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>

void dofile(char *in_fname,char *pwd,char *out_fname);/*对文件进行加密的具体函数*/

void main(int argc,char *argv[])/*定义main()函数的命令行参数*/
{
char in_fname[30];/*用户输入的要加密的文件名*/
char out_fname[30];
char pwd[8];/*用来保存密码*/

if(argc!=4){/*容错处理*/
printf("\nIn-fname:\n");
gets(in_fname);/*得到要加密的文件名*/

printf("Password:\n");
gets(pwd);/*得到密码*/

printf("Out-file:\n");
gets(out_fname);/*得到加密后你要的文件名*/

dofile(in_fname,pwd,out_fname);
}
else{/*如果命令行参数正确,便直接运行程序*/
strcpy(in_fname,argv[1]);
strcpy(pwd,argv[2]);