关于用C语言对文件进行加密和解密 5
根据这串代码,谁能把解密的步骤和注释讲解一下,组成完整的加密解密代码#include<stdio.h>#include<stdlib.h>#include<string....
根据这串代码,谁能把解密的步骤和注释讲解一下,组成完整的加密解密代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void encrypt(char *f1,char *pwd,char *f2)
{
int i=0;
FILE *fp1,*fp2; //两个文件的句柄,fp1为需要加密的文件,fp2为保存加密后的文件
char ch;
fp1=fopen(f1,"rb"); //以读的方式打开要加密的文件
if(fp1==NULL)
{
printf("open failed!\n");
exit(1);
}
if((fp2=fopen(f2,"wb"))==NULL)//以写的方式打开另外一个文件
{
printf("open failed!\n");
exit(1);
}
ch=fgetc(fp1);//fgetc()就是从文件中读取一个字符
while(!feof(fp1))//判断文件是否读完
{
ch=ch^*(pwd+i);//对读取的一个字符,进行异或
i++;
fputc(ch,fp2);//把处理后的字符写入另外一个文件
ch=fgetc(fp1);//然后再从要加密的文件中读取下一个字符
if(i>9)
{
i=0;
}
}
fclose(fp1);//关闭文件
fclose(fp2);
}
void main()
{
char f1[30];
char f2[30];
char pwd[10];
printf("sourcefile:");
scanf("%s",f1);//输入要加密文件的路径,放C盘就输C://
printf("password:");
scanf("%s",pwd);//密码主要用于字符的加密
printf("destinationfile:");
scanf("%s",f2);//保存加密文件的路径
encrypt(f1,pwd,f2);//调用函数
} 展开
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void encrypt(char *f1,char *pwd,char *f2)
{
int i=0;
FILE *fp1,*fp2; //两个文件的句柄,fp1为需要加密的文件,fp2为保存加密后的文件
char ch;
fp1=fopen(f1,"rb"); //以读的方式打开要加密的文件
if(fp1==NULL)
{
printf("open failed!\n");
exit(1);
}
if((fp2=fopen(f2,"wb"))==NULL)//以写的方式打开另外一个文件
{
printf("open failed!\n");
exit(1);
}
ch=fgetc(fp1);//fgetc()就是从文件中读取一个字符
while(!feof(fp1))//判断文件是否读完
{
ch=ch^*(pwd+i);//对读取的一个字符,进行异或
i++;
fputc(ch,fp2);//把处理后的字符写入另外一个文件
ch=fgetc(fp1);//然后再从要加密的文件中读取下一个字符
if(i>9)
{
i=0;
}
}
fclose(fp1);//关闭文件
fclose(fp2);
}
void main()
{
char f1[30];
char f2[30];
char pwd[10];
printf("sourcefile:");
scanf("%s",f1);//输入要加密文件的路径,放C盘就输C://
printf("password:");
scanf("%s",pwd);//密码主要用于字符的加密
printf("destinationfile:");
scanf("%s",f2);//保存加密文件的路径
encrypt(f1,pwd,f2);//调用函数
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询