<span style="font-family:KaiTi_GB2312;font-size:18px;">// FileEncryDecry.cpp : 定义控制台应用程序的入口点。
//
/*
利用异或预算对文件进行加密 主要是读取文件中的字符
对每个字符对KEY进行异或运算保存到另外一个文件中 从而实现加密的功能
由于异或的性质 加密解密可以使用同一个函数
*/
#include "stdafx.h"
#include <filesystem>
#include <stdlib.h>
#define OK 0
#define ERR -1
#define KEY 0xa9
int FileConvert(char szOldFile[],char szNewFile[])
{
FILE *pOldFile=NULL;
FILE *pNewFile=NULL;//指针初始化为NULL
char cTemp;
if(szOldFile==NULL||szNewFile==NULL)
{
return ERR;
}
pOldFile=fopen(szOldFile,"rb");//二进制读写文件
if(pOldFile==NULL)
{
return ERR;
}
pNewFile=fopen(szNewFile,"wb");
if(pNewFile==NULL)
{
fclose(pOldFile);
return ERR;
}
//一定要先读取字符然后做文件末尾判断
cTemp=fgetc(pOldFile);
while(!feof(pOldFile))//遇到文件结束 返回值为0
{
putchar(cTemp);
fputc(cTemp,pNewFile);
cTemp=fgetc(pOldFile)^KEY;//异或运算加密文件
}
fclose(pOldFile);
fclose(pNewFile);//用完文件之后需要关闭文件
return OK;
}
int _tmain(int argc, _TCHAR* argv[])
{
char szFile1[]="1.txt";
char szFile2[]="2.txt";
char szFile3[]="3.txt";//可以修改不同的文件格式
FileConvert(szFile1,szFile2);
system("pause");
return 0;
}
</span>
c++文件的加密与解密
最新推荐文章于 2024-08-14 13:46:48 发布