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

1 month ago
#pragma once
//////////////////////////////////////////////////////////////////////////////
//<2F>ļ<EFBFBD> FileEncrypt.h
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
// <09><><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>м<EFBFBD><D0BC>ܲ<EFBFBD><DCB2><EFBFBD>
//
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д: 2005-12-07
/////////////////////////////////////////////////////////////////////////////
#define ENCRYPT_EDITABLE 0x0001 //<2F>ɱ༭
#define ENCRYPT_READONLY 0x0002 //ֻ<><D6BB>
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; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ
};