|
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);
} |
|