You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
#pragma once
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
//文件 FileEncrypt.h
|
|
//主要功能:
|
|
// 将文件进行加密操作
|
|
//
|
|
//程序编写: 2005-12-07
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#define ENCRYPT_EDITABLE 0x0001 //可编辑
|
|
#define ENCRYPT_READONLY 0x0002 //只读
|
|
|
|
class AFX_EXT_CLASS CFileEncrypt
|
|
{
|
|
public:
|
|
CFileEncrypt(void);
|
|
virtual ~CFileEncrypt(void);
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
virtual int Read(CFile& fr, const short &ver);
|
|
virtual void Write(CFile& fw, const short &ver);
|
|
virtual void operator=(CFileEncrypt& fe);
|
|
|
|
BOOL IsReadOnly(void);
|
|
BOOL IsEditable(void);
|
|
|
|
void GetMd5(BYTE* pstr, CString strPassword);
|
|
|
|
int VerifyPassword(LPCTSTR szPassword);
|
|
void SetPassword(LPCTSTR szEditPassword, LPCTSTR szReadOnlyPassword=NULL);
|
|
|
|
BOOL IsEmpty(void);
|
|
void Empty(void);
|
|
|
|
protected:
|
|
void EnableEditable(BOOL bEnable);
|
|
void EnableReadOnly(BOOL bEnable);
|
|
|
|
BYTE m_cPasswordEdit[20];
|
|
BYTE m_cPasswordReadOnly[20];
|
|
DWORD m_nFlags; //加密扩展
|
|
};
|