C编程实现加密解密读取文件
求一段代码。读取一个文件,实现加密,然后写入到一个新的文件,之后再解密加密了的文件,保存到新的文件。例如:读取1.txt,读取的过程进行加密,写入到2.txt,之后对2....
求一段代码。读取一个文件,实现加密,然后写入到一个新的文件,之后再解密加密了的文件,保存到新的文件。例如:读取1.txt,读取的过程进行加密,写入到2.txt,之后对2.txt进行解密,保存到3.txt。实现加密和机密文件的一致。
展开
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
Encrypt(char* cSrc,char* cDest)
{
char c;
int i,h,l,j=0;
char *test;
test=(char *)malloc(strlen(cSrc)*2+1);
memset(test,0,strlen(cSrc)/2 +1);
for (i=0;i<(int)strlen(cSrc);i++)
{
c=cSrc[i];
h=(c>>4)&0xf; /* 高4位*/
l=c&0xf; /* 低4位*/
test[j]=h;
test[j+1]=l;
j+=2;
}
strcpy(cDest,test);
free(test);
return 0;
}
Decrypt(char* cSrc,char* cDest)
{
int i,h,l,m,n,j=0;
char* test;
test=(char*)malloc(strlen(cSrc)/2 +1);
memset(test,0,strlen(cSrc)/2 +1);
for (i=0;i<(int)strlen(cSrc);i=i+2)
{
h=(cSrc[i]);
l=(cSrc[i+1]);
m=(h<<4);
n=(l&0xf);
test[j]=m + n;
j++;
}
strcpy(cDest,test);
free(test);
return 0;
}
main(int argc, char *argv[])
{
char dest1[128]="\0";
char dest2[128]="\0";
char src[128]="\0";
printf("请输入源字符串:");
scanf("%s",src);
Encrypt(src,dest1);
printf("加密后的字符串为:%s\n",dest1);
Decrypt(dest1,dest2);
printf("还原后的字符串为:%s\n",dest2);
printf("长度为:%d\n",strlen(dest2));
return 0;
}
追问
你好,我要的是读取文件程序。而不是输入转换。谢谢!您能帮我写一个读取的操作代码吗,因为这个是学校布置的作业,我也不会。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询