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

📄 abscipher.hpp

📁 Absolute Database 5.12 src. Absolute Database lets you forget the Borland Database Engine (BDE). Th
💻 HPP
📖 第 1 页 / 共 2 页
字号:
// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Abscipher.pas' rev: 10.00

#ifndef AbscipherHPP
#define AbscipherHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Absdecutil.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Abscipher
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS ECipherException;
class PASCALIMPLEMENTATION ECipherException : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	int ErrorCode;
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall ECipherException(const AnsiString Msg) : Sysutils::Exception(Msg) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall ECipherException(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall ECipherException(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall ECipherException(int Ident, System::TVarRec const * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall ECipherException(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall ECipherException(const AnsiString Msg, System::TVarRec const * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall ECipherException(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall ECipherException(System::PResStringRec ResStringRec, System::TVarRec const * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~ECipherException(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TCipherMode { cmCTS, cmCBC, cmCFB, cmOFB, cmECB, cmCTSMAC, cmCBCMAC, cmCFBMAC };
#pragma option pop

typedef TMetaClass* TCipherClass;

class DELPHICLASS THash;
class PASCALIMPLEMENTATION THash : public Absdecutil::TProtection 
{
	typedef Absdecutil::TProtection inherited;
	
protected:
	#pragma option push -w-inl
	/* virtual class method */ virtual void * __fastcall TestVector() { return TestVector(__classid(THash)); }
	#pragma option pop
	/*         class method */ static void * __fastcall TestVector(TMetaClass* vmt);
	virtual void __fastcall CodeInit(Absdecutil::TPAction Action);
	virtual void __fastcall CodeDone(Absdecutil::TPAction Action);
	virtual void __fastcall CodeBuf(void *Buffer, const int BufferSize, Absdecutil::TPAction Action);
	void __fastcall Protect(bool IsInit);
	
public:
	__fastcall virtual ~THash(void);
	virtual void __fastcall Init(void);
	virtual void __fastcall Calc(const void *Data, int DataSize);
	virtual void __fastcall Done(void);
	virtual void * __fastcall DigestKey(void);
	AnsiString __fastcall DigestStr(int Format);
	#pragma option push -w-inl
	/* virtual class method */ virtual int __fastcall DigestKeySize() { return DigestKeySize(__classid(THash)); }
	#pragma option pop
	/*         class method */ static int __fastcall DigestKeySize(TMetaClass* vmt);
	/*         class method */ static AnsiString __fastcall CalcBuffer(TMetaClass* vmt, const void *Buffer, int BufferSize, Absdecutil::TProtection* Protection = (Absdecutil::TProtection*)(0x0), int Format = 0xffffffff)/* overload */;
	/*         class method */ static AnsiString __fastcall CalcStream(TMetaClass* vmt, const Classes::TStream* Stream, int StreamSize, Absdecutil::TProtection* Protection = (Absdecutil::TProtection*)(0x0), int Format = 0xffffffff)/* overload */;
	/*         class method */ static AnsiString __fastcall CalcString(TMetaClass* vmt, const AnsiString Data, Absdecutil::TProtection* Protection = (Absdecutil::TProtection*)(0x0), int Format = 0xffffffff)/* overload */;
	/*         class method */ static AnsiString __fastcall CalcFile(TMetaClass* vmt, const AnsiString FileName, Absdecutil::TProtection* Protection = (Absdecutil::TProtection*)(0x0), int Format = 0xffffffff)/* overload */;
	/*         class method */ static bool __fastcall SelfTest(TMetaClass* vmt);
public:
	#pragma option push -w-inl
	/* TProtection.Create */ inline __fastcall THash(Absdecutil::TProtection* AProtection) : Absdecutil::TProtection(AProtection) { }
	#pragma option pop
	
};


typedef TMetaClass* THashClass;

class DELPHICLASS TCipher;
class PASCALIMPLEMENTATION TCipher : public Absdecutil::TProtection 
{
	typedef Absdecutil::TProtection inherited;
	
private:
	TCipherMode FMode;
	THash* FHash;
	TMetaClass* FHashClass;
	int FKeySize;
	int FBufSize;
	int FUserSize;
	void *FBuffer;
	void *FVector;
	void *FFeedback;
	void *FUser;
	int FFlags;
	THash* __fastcall GetHash(void);
	void __fastcall SetHashClass(TMetaClass* Value);
	
protected:
	bool __fastcall GetFlag(int Index);
	virtual void __fastcall SetFlag(int Index, bool Value);
	void __fastcall InitBegin(int &Size);
	virtual void __fastcall InitEnd(void * IVector);
	#pragma option push -w-inl
	/* virtual class method */ virtual void __fastcall GetContext(int &ABufSize, int &AKeySize, int &AUserSize) { GetContext(__classid(TCipher), ABufSize, AKeySize, AUserSize); }
	#pragma option pop
	/*         class method */ static void __fastcall GetContext(TMetaClass* vmt, int &ABufSize, int &AKeySize, int &AUserSize);
	#pragma option push -w-inl
	/* virtual class method */ virtual void * __fastcall TestVector() { return TestVector(__classid(TCipher)); }
	#pragma option pop
	/*         class method */ static void * __fastcall TestVector(TMetaClass* vmt);
	virtual void __fastcall CodeInit(Absdecutil::TPAction Action);
	virtual void __fastcall CodeDone(Absdecutil::TPAction Action);
	virtual void __fastcall CodeBuf(void *Buffer, const int BufferSize, Absdecutil::TPAction Action);
	virtual void __fastcall Encode(void * Data);
	virtual void __fastcall Decode(void * Data);
	__property void * User = {read=FUser};
	__property void * Buffer = {read=FBuffer};
	__property int UserSize = {read=FUserSize, nodefault};
	
public:
	__fastcall TCipher(const AnsiString Password, Absdecutil::TProtection* AProtection);
	__fastcall virtual ~TCipher(void);
	/*         class method */ static int __fastcall MaxKeySize(TMetaClass* vmt);
	/*         class method */ static bool __fastcall SelfTest(TMetaClass* vmt);
	virtual void __fastcall Init(const void *Key, int Size, void * IVector);
	void __fastcall InitKey(const AnsiString Key, void * IVector);
	virtual void __fastcall Done(void);
	virtual void __fastcall Protect(void);
	void __fastcall EncodeBuffer(const void *Source, void *Dest, int DataSize);
	void __fastcall DecodeBuffer(const void *Source, void *Dest, int DataSize);
	__property TCipherMode Mode = {read=FMode, write=FMode, nodefault};
	__property THash* Hash = {read=GetHash};
	__property TMetaClass* HashClass = {read=FHashClass, write=SetHashClass};
	__property int KeySize = {read=FKeySize, nodefault};
	__property int BufSize = {read=FBufSize, nodefault};
	__property bool Initialized = {read=GetFlag, write=SetFlag, index=1, nodefault};
	__property void * Vector = {read=FVector};
	__property void * Feedback = {read=FFeedback};
	__property bool HasHashKey = {read=GetFlag, index=0, nodefault};
};


class DELPHICLASS TCipher_Rijndael;
class PASCALIMPLEMENTATION TCipher_Rijndael : public TCipher 
{
	typedef TCipher inherited;
	
private:
	int FRounds;
	
protected:
	#pragma option push -w-inl
	/* virtual class method */ virtual void __fastcall GetContext(int &ABufSize, int &AKeySize, int &AUserSize) { GetContext(__classid(TCipher_Rijndael), ABufSize, AKeySize, AUserSize); }
	#pragma option pop
	/*         class method */ static void __fastcall GetContext(TMetaClass* vmt, int &ABufSize, int &AKeySize, int &AUserSize);
	#pragma option push -w-inl
	/* virtual class method */ virtual void * __fastcall TestVector() { return TestVector(__classid(TCipher_Rijndael)); }
	#pragma option pop
	/*         class method */ static void * __fastcall TestVector(TMetaClass* vmt);
	virtual void __fastcall Encode(void * Data);
	virtual void __fastcall Decode(void * Data);
	
public:
	virtual void __fastcall Init(const void *Key, int Size, void * IVector);
public:
	#pragma option push -w-inl
	/* TCipher.Create */ inline __fastcall TCipher_Rijndael(const AnsiString Password, Absdecutil::TProtection* AProtection) : TCipher(Password, AProtection) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCipher.Destroy */ inline __fastcall virtual ~TCipher_Rijndael(void) { }
	#pragma option pop
	
};


class DELPHICLASS TCipher_Blowfish;
class PASCALIMPLEMENTATION TCipher_Blowfish : public TCipher 
{
	typedef TCipher inherited;
	
private:
	void __fastcall Encode386(void * Data);
	void __fastcall Decode386(void * Data);
	
protected:
	#pragma option push -w-inl
	/* virtual class method */ virtual void __fastcall GetContext(int &ABufSize, int &AKeySize, int &AUserSize) { GetContext(__classid(TCipher_Blowfish), ABufSize, AKeySize, AUserSize); }
	#pragma option pop
	/*         class method */ static void __fastcall GetContext(TMetaClass* vmt, int &ABufSize, int &AKeySize, int &AUserSize);
	#pragma option push -w-inl
	/* virtual class method */ virtual void * __fastcall TestVector() { return TestVector(__classid(TCipher_Blowfish)); }
	#pragma option pop
	/*         class method */ static void * __fastcall TestVector(TMetaClass* vmt);
	virtual void __fastcall Encode(void * Data);
	virtual void __fastcall Decode(void * Data);
	
public:
	virtual void __fastcall Init(const void *Key, int Size, void * IVector);
public:
	#pragma option push -w-inl
	/* TCipher.Create */ inline __fastcall TCipher_Blowfish(const AnsiString Password, Absdecutil::TProtection* AProtection) : TCipher(Password, AProtection) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCipher.Destroy */ inline __fastcall virtual ~TCipher_Blowfish(void) { }
	#pragma option pop
	
};


class DELPHICLASS TCipher_1DES;
class PASCALIMPLEMENTATION TCipher_1DES : public TCipher 
{
	typedef TCipher inherited;
	
protected:
	#pragma option push -w-inl
	/* virtual class method */ virtual void __fastcall GetContext(int &ABufSize, int &AKeySize, int &AUserSize) { GetContext(__classid(TCipher_1DES), ABufSize, AKeySize, AUserSize); }
	#pragma option pop
	/*         class method */ static void __fastcall GetContext(TMetaClass* vmt, int &ABufSize, int &AKeySize, int &AUserSize);
	#pragma option push -w-inl
	/* virtual class method */ virtual void * __fastcall TestVector() { return TestVector(__classid(TCipher_1DES)); }
	#pragma option pop
	/*         class method */ static void * __fastcall TestVector(TMetaClass* vmt);
	virtual void __fastcall Encode(void * Data);
	virtual void __fastcall Decode(void * Data);
	void __fastcall MakeKey(Byte const * Data, const int Data_Size, void * Key_1, bool Reverse);
	
public:
	virtual void __fastcall Init(const void *Key, int Size, void * IVector);
public:
	#pragma option push -w-inl
	/* TCipher.Create */ inline __fastcall TCipher_1DES(const AnsiString Password, Absdecutil::TProtection* AProtection) : TCipher(Password, AProtection) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCipher.Destroy */ inline __fastcall virtual ~TCipher_1DES(void) { }
	#pragma option pop
	

⌨️ 快捷键说明

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