The HMAC component provides an interface to the OpenSSL HMAC functions. These functions generate a Message Authentication Code (MAC) based on a key, in such a way that no one without the key could plausibly generate the MAC. HMAC uses a digest (hash) algorithm to generate the MAC.
Supported Interfaces
Description
For additional information on the OpenSSL HMAC functions, please see:
http://www.openssl.org/docs/crypto/hmac.html http://www.openssl.org/docs/crypto/hmac.html
Supported Digest Algorithms:
The supported digest algorithms are the same as those supported by roEVPDigest.
Example
hmac = CreateObject("roHMAC") signature_key = CreateObject("roByteArray") signature_key.fromAsciiString(getKey()) If hmac.setup("sha1", signature_key) = 0 message = CreateObject("roByteArray") message.fromAsciiString(getMessage()) result = hmac.process(message) print result.toBase64String() End If hmac = CreateObject("roHMAC") signature_key = CreateObject("roByteArray") signature_key.fromAsciiString(getKey()) If hmac.setup("sha1", signature_key) = 0 message1 = CreateObject("roByteArray") message1.fromAsciiString(getMessage1()) hmac.update(message1) message2 = CreateObject("roByteArray") message2.fromAsciiString(getMessage2()) hmac.update(message2) result = hmac.final() print result.toBase64String() End If