This is a new site that's currently running on alpha code. There are going to be bugs. If you discover any, please report them on the site's issues page (GitHub account required). Thanks.
Warning: Many URLs are going to change. Refer to the README file to discover which library project's documentation has been completed.
Project: MD5 Message Digest Unit
Unit: PJMD5
Applies to: ~>1.0
This class implements the MD5 message digest algorithm. It produces a message digest (i.e. a 16 byte hash) from a sequence of octets (bytes).
TPJMD5 has been designed to make it easy to create MD5 hashes of different types of data. It does this by providing overloaded Process and Calculate methods that can each accept several different data types.
The MD5 hash is exposed as a record of type TPJMD5Digest that contains the hash in binary form. The record overloads various operators to make it easy to obtain a string representation of the hash and to access the hash itself either byte by byte or as a sequence of long words.
Method | Description |
---|---|
Create | Object constructor. |
Calculate | There are numerous overloaded versions of Calculate for several different data types. These are class methods that create an MD5 hash directly from data passed to them. Each method returns the resulting hash as a TPJMD5Digest record. |
CalculateFile | This class method is similar to the Calculate methods except that it calculates and returns the MD5 hash of the contents of a file. |
Process | Each of the numerous overloaded Process methods adds the data passed to it to the current MD5 hash. The method enable data to be added to the hash in chunks rather than all at once as is the case with v. The methods also enable data of different types to be combined in the same hash. |
ProcessFile | This method is similar to the Process method except that it adds the contents of a file to the current MD5 hash. |
Reset | Resets the object and discards the current digest ready to calculate a new hash. |
Finalize | Finalizes the current MD5 hash. Any attempt to add more data to the hash after calling this method raises an exception. |
Property | Description |
---|---|
Digest | Read only property that finalizes and provides access to the MD5 hash as a TPJMD5Digest record. |
ReadBufferSize | Gets and sets the size of buffer used when reading data from files and streams. |
Finalized | Read only property that indicates if the MD5 hash has been finalized. |
TPJMD5 exposes no events.
Constant | Description |
---|---|
DefReadBufferSize | Default buffer size used when reading streams and files. |