MFC对TXT文档进行加密解密

EncodeAndDecode.h

#pragma once
#include "afxdialogex.h"
class EncodeAndDecode
{
public:
	EncodeAndDecode();
	~EncodeAndDecode();

	void EncodeFile();
	void DecodeFile();	
};

EncodeAndDecode.cpp

#include "stdafx.h"
#include "EncodeAndDecode.h"
#include "afxdialogex.h"

EncodeAndDecode::EncodeAndDecode()
{
}


EncodeAndDecode::~EncodeAndDecode()
{
}
void EncodeAndDecode::EncodeFile()
{

	//读取配置文件

	CString fPath("./data.txt");

	CFile openFile;

	bool bFile = openFile.Open(fPath, CFile::modeRead);

	//同根目录下判断是否打开

	if (!bFile)

	{

		MessageBox(NULL,_T("系统文件丢失请联系管理员"), _T("错误") ,MB_ICONINFORMATION);

		exit(0);

	}

	DWORD openSize = (DWORD)openFile.GetLength();

	char* buf = new char[openSize + 1];

	memset(buf, 0, sizeof(char) * (openSize + 1));

	openFile.Read(buf, openSize);

	openFile.Close();

	//加密算法

	for (unsigned int i = 0; i < openSize; i++)

	{

		buf[i] = 255 - buf[i];

	}

	//写入加密文件

	CString wPath("./moon.xie");

	CFile writeFile;

	writeFile.Open(wPath, CFile::modeWrite | CFile::modeCreate);

	writeFile.Write(buf, openSize);

	writeFile.Close();

	//MessageBox(NULL, _T("已加密"), _T("成功"), MB_ICONINFORMATION);


}
void EncodeAndDecode::DecodeFile()
{

	//读取加密文件

	CString fPath("./moon.xie");

	CFile openFile;

	bool bFile = openFile.Open(fPath, CFile::modeRead);

	//同根目录下判断是否打开

	if (!bFile)

	{

		MessageBox(NULL,_T("系统文件丢失请联系管理员"), _T("错误"), MB_ICONINFORMATION);

		exit(0);

	}

	DWORD openSize = (DWORD)openFile.GetLength();

	char* buf = new char[openSize + 1];

	memset(buf, 0, sizeof(char) * (openSize + 1));

	openFile.Read(buf, openSize);

	openFile.Close();

	//解密算法

	for (unsigned int i = 0; i < openSize; i++)

	{

		buf[i] = 255 - buf[i];

	}

	//写入解密文件

	CString wPath("./data.txt");

	CFile writeFile;

	writeFile.Open(wPath, CFile::modeWrite | CFile::modeCreate);

	writeFile.Write(buf, openSize);

	writeFile.Close();

	//MessageBox(NULL,_T("已解密"), _T("成功"), MB_ICONINFORMATION);




}
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页