#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; //加密扩展 };