C编程实现加密解密读取文件

求一段代码。读取一个文件,实现加密,然后写入到一个新的文件,之后再解密加密了的文件,保存到新的文件。例如:读取1.txt,读取的过程进行加密,写入到2.txt,之后对2.... 求一段代码。读取一个文件,实现加密,然后写入到一个新的文件,之后再解密加密了的文件,保存到新的文件。例如:读取1.txt,读取的过程进行加密,写入到2.txt,之后对2.txt进行解密,保存到3.txt。实现加密和机密文件的一致。 展开
 我来答
張員瑛
2014-02-28 · TA获得超过154个赞
知道小有建树答主
回答量:296
采纳率:0%
帮助的人:248万
展开全部
#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;
}
追问
你好,我要的是读取文件程序。而不是输入转换。谢谢!您能帮我写一个读取的操作代码吗,因为这个是学校布置的作业,我也不会。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式