![]() |
#2
rjsp2011-12-24 08:21
|
如果一定要保存为“*.cpp”,代码应该做怎样的修改呢?
为什么会出现这样的问题呢?
/*代码的功能是“将指定的文件二进制代码与给定的数据进行异或,从而达到简单的加密功能”

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void Encryption(char *in_fname,char *pwd,char *out_fname);//对文件进行加密的具体函数
void main()
{
FILE *fp;
char in_fname[30];//用户输入的要加密的文件名
char out_fname[30];
char pwd[20]; //用来保存密码
printf("\n输入需要加密的文件名称:\n");
gets(in_fname);//得到要加密的文件名
fp=fopen(in_fname,"rb");
if(fp==NULL)
{
printf("无法打开文件“%s”\n", in_fname);
return;
}
fclose(in_fname);
printf("输入密码:\n");
gets(pwd);//得到密码
printf("输入加密后文件的名称:\n");
gets(out_fname);//得到加密后你要的文件名
Encryption(in_fname,pwd,out_fname);
}
//加密子函数开始
void Encryption(char *in_fname,char *pwd,char *out_file)
{
FILE *fp1,*fp2;
register char ch;//寄存器
int j=0;
int j0=0;
fp1=fopen(in_fname,"rb");
if(fp1==NULL)
{
printf("无法打开%s\n", in_fname);
return;
}
fp2=fopen(out_file,"wb");
if(fp2==NULL)
{
printf("无法创建%s\n",out_file);
system("pause");
return;
}
while(pwd[++j0]);
ch=fgetc(fp1);
//加密算法开始
while(!feof(fp1))
{
fputc(ch^pwd[j>=j0?j=0:j++],fp2);//异或后写入fp2文件
ch=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
}
#include<stdlib.h>
#include<string.h>
void Encryption(char *in_fname,char *pwd,char *out_fname);//对文件进行加密的具体函数
void main()
{
FILE *fp;
char in_fname[30];//用户输入的要加密的文件名
char out_fname[30];
char pwd[20]; //用来保存密码
printf("\n输入需要加密的文件名称:\n");
gets(in_fname);//得到要加密的文件名
fp=fopen(in_fname,"rb");
if(fp==NULL)
{
printf("无法打开文件“%s”\n", in_fname);
return;
}
fclose(in_fname);
printf("输入密码:\n");
gets(pwd);//得到密码
printf("输入加密后文件的名称:\n");
gets(out_fname);//得到加密后你要的文件名
Encryption(in_fname,pwd,out_fname);
}
//加密子函数开始
void Encryption(char *in_fname,char *pwd,char *out_file)
{
FILE *fp1,*fp2;
register char ch;//寄存器
int j=0;
int j0=0;
fp1=fopen(in_fname,"rb");
if(fp1==NULL)
{
printf("无法打开%s\n", in_fname);
return;
}
fp2=fopen(out_file,"wb");
if(fp2==NULL)
{
printf("无法创建%s\n",out_file);
system("pause");
return;
}
while(pwd[++j0]);
ch=fgetc(fp1);
//加密算法开始
while(!feof(fp1))
{
fputc(ch^pwd[j>=j0?j=0:j++],fp2);//异或后写入fp2文件
ch=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
}
[ 本帖最后由 弗朗先生 于 2011-12-23 22:47 编辑 ]