Step by step MD5 functions
This set of functions are intended to generate a MD5 hash from some chunks of data.
When no more chunks to add you must finalize the MD5 hash.
After the MD5 hash has been finalized cannot be added more chunks of data to the calculation.
ot4xb use internally a C++ class to handle the MD5 calculation, so you need initialize the C++ class by using hMd5 := _MD5_NEW()
and release the working resources when not needed anymore calling:
_MD5_DESTROY(hMd5)
After _MD5_FINALIZE(hMd5) you can get the results in binary format for small storage or human readable in hexadecimal.
_MD5_NEW( ) -> hMd5 Handle to internal MD5 C++ class
_MD5_STR(hMd5 , str [ , nLen] ) -> lOk
<str> can be a Xbase++ string or a memory pointer.
If <str> is a memory pointer nLen is required
_MD5_HFILE( hMd5 , hFile ) -> lOk
Add the contents of the provided file or pipe handle to the MD5 calculation,
from the current position to the end of the file
_MD5_FINALIZE( hMd5) -> lOk
Finalize the MD5 hash calculation. This step is required before retrieve the MD5 hash value.
After call this function cannot be added more chunks of data to the calculation.
_MD5_GETHEX( hMd5 ) -> cMd5StrAsHex
Return the value of the MD5 hash as human readable hexadecimal string
The hash must be finalized before call to this function.
_MD5_GETBIN( hMd5 ) -> cMd5BinStr
Return the value of the MD5 hash as human readable hexadecimal string
The hash must be finalized before call to this function.
_MD5_DESTROY( hMd5 )
Release memory and resources used for the MD5 calculation when no longer required.