System.Hash.THashMD5

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

THashMD5 = record

C++

struct DECLSPEC_DRECORD THashMD5
{
private:
    typedef System::StaticArray<unsigned, 16> TContextState;
    typedef System::StaticArray<System::Byte, 64> TContextBuffer;
private:
    TContextBuffer FPadding;
    System::StaticArray<unsigned, 4> FContextState;
    System::StaticArray<unsigned, 2> FContextCount;
    TContextBuffer FContextBuffer;
    bool FFinalized;
    void __fastcall Transform(const System::PByte ABlock, int AShift);
    void __fastcall Decode(const System::PCardinal Dst, const System::PByte Src, int Len, int AShift);
    void __fastcall Encode(const System::PByte Dst, const System::PCardinal Src, int Len);
    void __fastcall FinalizeHash();
    void __fastcall Update(const System::PByte AData, unsigned ALength)/* overload */;
    System::Sysutils::TBytes __fastcall GetDigest();
public:
    static THashMD5 __fastcall Create();
    void __fastcall Reset();
    void __fastcall Update(const void *AData, unsigned ALength)/* overload */;
    void __fastcall Update(const System::Sysutils::TBytes AData, unsigned ALength = (unsigned)(0x0))/* overload */;
    void __fastcall Update(const System::UnicodeString Input)/* overload */;
    int __fastcall GetBlockSize();
    int __fastcall GetHashSize();
    System::Sysutils::TBytes __fastcall HashAsBytes();
    System::UnicodeString __fastcall HashAsString();
    static System::Sysutils::TBytes __fastcall GetHashBytes(const System::UnicodeString AData)/* overload */;
    static System::UnicodeString __fastcall GetHashString(const System::UnicodeString AString)/* overload */;
    static System::Sysutils::TBytes __fastcall GetHashBytes(System::Classes::TStream* const AStream)/* overload */;
    static System::UnicodeString __fastcall GetHashString(System::Classes::TStream* const AStream)/* overload */;
    static System::Sysutils::TBytes __fastcall GetHashBytesFromFile(const System::Sysutils::TFileName AFileName);
    static System::UnicodeString __fastcall GetHashStringFromFile(const System::Sysutils::TFileName AFileName);
    static System::UnicodeString __fastcall GetHMAC(const System::UnicodeString AData, const System::UnicodeString AKey);
    static System::Sysutils::TBytes __fastcall GetHMACAsBytes(const System::UnicodeString AData, const System::UnicodeString AKey)/* overload */;
    static System::Sysutils::TBytes __fastcall GetHMACAsBytes(const System::UnicodeString AData, const System::Sysutils::TBytes AKey)/* overload */;
    static System::Sysutils::TBytes __fastcall GetHMACAsBytes(const System::Sysutils::TBytes AData, const System::UnicodeString AKey)/* overload */;
    static System::Sysutils::TBytes __fastcall GetHMACAsBytes(const System::Sysutils::TBytes AData, const System::Sysutils::TBytes AKey)/* overload */;
};

Properties

Type Visibility Source Unit Parent
record
struct
public
System.Hash.pas
System.Hash.hpp
System.Hash System.Hash

Description

A record that implements the MD5 hash type.

THashMD5 provides methods such as:

  • Update: Updates the hash value with the provided data.
  • GetHashString: Returns hash value of the provided String.
  • GetHashStringFromFile: Returns hash value of the provided file.
  • GetHMAC: Returns a String representation associated with the HMAC authentication (Hash-based message authentication code).

See Also