关于用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);//调用函数
}
展开
 我来答
bd9006
2017-10-29 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
ch=ch^*(pwd+i); //对读取的一个字符,进行异或
重点是这,,,,,,就是使用密码,对源文件逐byte异或、
if(i>9){
i=0;
}

密码也循环使用。
~~~~~~~~~~~~
追问
能把详细的解密代码写一下吗?这串代码有加密过程,我想要的是解密部分,把两部分组合起来成完整的加密解密代码
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式