利用C++实现简单的文件加密

示例代码中利用“异或操作”实现对文件加密。首先,建立两个*.txt文件,分别将其命名为“原文件.txt”,“key.text”,“原文件.txt”为需要加密的文件,“key.text”为密钥文件,运行代码后“原文件.txt”被加密,再一次运行代码“原文件.txt”会被解密。

示例代码:

#include
#include
#include
int main()
{
        FILE *fp_src1,*fp_src2;//两个文件指针,  FILE大写表示系统已经定义FILE这个变量 
        //char buffer[],buffer1[120];
        int i,j,l,k=0;
        long int size;
        //打开文件“原文件.txt”,需要加(解)密的文件,r表示读,b表示以二进制方式读,
        if((fp_src1=fopen("原文件.txt","rb+"))==NULL)
        {
                perror("open1");
                exit(0);
        }
        //打开文件“key.txt”,密钥文件,r表示读,b表示已二进制方式读,
        if((fp_src2=fopen("key.txt","rb+"))==NULL)
        {
                perror("open2");
                exit(0);
        }
        fseek(fp_src1,0,SEEK_SET);
        fseek(fp_src1,0,SEEK_END);// 为了知道文件的大小 
        size=ftell(fp_src1);//ftell()的返回值为文件的大小 
        fseek(fp_src1,0,SEEK_SET);
        char buffer1[size],buffer2[size]; 
        do 
        {
                i=fread(buffer1,1,size,fp_src1);
                i=fread(buffer2,1,size,fp_src2); //一个一个读文件,然后放入缓冲区 
                if (feof(fp_src1)) break;
                 // 1.feof()这个函数是用来判断指针是否已经到达文件尾部的
                 //2.若fp已经指向文件末尾,则feof(fp)函数值为“真”,即返回非零值;否则... 
                 for (i=0; i

你可能感兴趣的:(加密文件,c++,加密,异或)