⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pwsfile.h

📁 Password Safe Password Safe is a password database utility. Users can keep their passwords securely
💻 H
字号:
// PWSfile.h// Abstract the gory details of reading and writing an encrypted database//-----------------------------------------------------------------------------#ifndef PWSfile_h#define PWSfile_h#include <stdio.h> // for FILE *#include "ItemData.h"#include "MyString.h"#include "UUIDGen.h"class PWSfile { public:  enum VERSION {V17, V20, VCURRENT = V20,		UNKNOWN_VERSION}; // supported file versions: V17 is last pre-2.0  enum {SUCCESS = 0, FAILURE = 1, CANT_OPEN_FILE,	UNSUPPORTED_VERSION, WRONG_VERSION,	WRONG_PASSWORD, END_OF_FILE};  static bool FileExists(const CMyString &filename);  static int RenameFile(const CMyString &oldname, const CMyString &newname);  PWSfile(const CMyString &filename, const CMyString &passkey);  ~PWSfile();  int OpenWriteFile(VERSION v); //writes header  int OpenReadFile(VERSION v);  void CloseFile();  VERSION GetFileVersion();  int CheckPassword(); // opens for read and then closes iff not already open  int WriteRecord(const CItemData &item);  int ReadRecord(CItemData &item);  void SetDefUsername(const CMyString &du) {m_defusername = du;} // for V17 conversion (read) only  // The prefstring is read/written along with the rest of the file, see code for details on  // where it's kept.  void SetPrefString(const CMyString &prefStr) {m_prefString = prefStr;}  const CMyString &GetPrefString() const {return m_prefString;} private:  const CMyString m_filename;  const CMyString m_passkey;  FILE *m_fd;  VERSION m_curversion;  CMyString m_defusername; // for V17 conversion (read) only  // crypto stuff for reading/writing files:  unsigned char m_salt[SaltLength];  unsigned char m_ipthing[8]; // for CBC  CMyString m_prefString; // prefererences stored in the file  int WriteCBC(unsigned char type, const CString &data);  int WriteCBC(unsigned char type, const unsigned char *data, unsigned int length);  int ReadCBC( unsigned char &type, CMyString &data);  int WriteV2Header();  int ReadV2Header();};#endif PWSfile_h

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -