SYNOPSIS
#include <tls.h>
string hmac(int method, string key, string arg )
string hmac(int method, string key, bytes arg )
string hmac(int method, string key, int * arg )
string hmac(int method, bytes key, string arg )
string hmac(int method, bytes key, bytes arg )
string hmac(int method, bytes key, int * arg )
DESCRIPTION
Calculate the Hashed Message Authenication Code for <arg> based
on the digest <method> and the password <key>. Return the HMAC.
Any strings given as <key> or <arg> are converted to a UTF-8
byte sequence before being used.
<method> is one of the TLS_HASH_ constants defined in tls.h; not
all recognized methods may be supported for a given driven:
TLS_HASH_SHA1 (1)
TLS_HASH_SHA224 (2)
TLS_HASH_SHA256 (3)
TLS_HASH_SHA384 (4)
TLS_HASH_SHA512 (5)
TLS_HASH_MD5 (6)
TLS_HASH_RIPEMD160 (7)
If the driver is compiled without OpenSSL or GCrypt support
an error is thrown.
EXAMPLES
string s;
s = hmac(TLS_HASH_SHA1, "secret", "Hello");
s = hmac(TLS_HASH_SHA1, "secret", ({ 'H', 'e', 'l', 'l', 'o' }) )
HISTORY
Introduced in LDMud 3.3.714.
SEE ALSO
crypt(E), md5(E), md5_crypt(E), sha1(E), hmac(E)
|