Root > Reference > All Functions > MD5HMAC

Function MD5HMAC

Previous pageReturn to chapter overviewNext page   

Calculates HMAC-MD5.







Code (Delphi)

function MD5HMAC(

const AData: Pointer;

const ADataSize: Cardinal;

const APassword: Pointer;

const APasswordSize: Cardinal

): TMD5Hash; overload;


function MD5HMAC(

const AData, APassword: RawByteString

): TMD5Hash; overload;



AData [in]

A data to calculate value ("text", "message").


ADataSize [in]

Size of AData in bytes.


APassword [in]

A common shared secret ("password", "key").


APasswordSize [in]

Size of APassword in bytes.


Return value

MD5 HMAC value of the specified AData and APassword.



A Keyed-Hash Message Authentication Code (HMAC) is a specific type of Message Authentication Code (MAC) involving a cryptographic hash function and a secret cryptographic key. It may be used to simultaneously verify both the data integrity and the authentication of a message, as with any MAC.


Any cryptographic hash function, such as MD5, SHA-1, or SHA-256, may be used in the calculation of an HMAC; the resulting MAC algorithm is termed HMAC-MD5, HMAC-SHA1, or HMAC-SHA256 accordingly. The cryptographic strength of the HMAC depends upon the cryptographic strength of the underlying hash function, the size of its hash output, and on the size and quality of the key.



The security of the MD5 hash function is severely compromised. As of 2010, the CMU Software Engineering Institute considers MD5 "cryptographically broken and unsuitable for further use".


See also

Send feedback... Build date: 2023-05-05
Last edited: 2023-05-05
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: