™.. hmac - Online Linux Manual PageSection : 3
Updated : 2013-02-11
Source : 1.0.1e
Note : OpenSSL

NAMEHMAC, HMAC_Init, HMAC_Update, HMAC_Final, HMAC_cleanup − HMAC message authentication code

SYNOPSIS​ #include <openssl/hmac.h> ​ ​ unsigned char *HMAC(const EVP_MD *evp_md, const void *key, ​ int key_len, const unsigned char *d, int n, ​ unsigned char *md, unsigned int *md_len); ​ ​ void HMAC_CTX_init(HMAC_CTX *ctx); ​ ​ int HMAC_Init(HMAC_CTX *ctx, const void *key, int key_len, ​ const EVP_MD *md); ​ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int key_len, ​ const EVP_MD *md, ENGINE *impl); ​ int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, int len); ​ int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len); ​ ​ void HMAC_CTX_cleanup(HMAC_CTX *ctx); ​ void HMAC_cleanup(HMAC_CTX *ctx);

DESCRIPTIONHMAC is a MAC (message authentication code), i.e. a keyed hash function used for message authentication, which is based on a hash function. HMAC() computes the message authentication code of the n bytes at ​d using the hash function evp_md and the key key which is ​key_len bytes long. It places the result in md (which must have space for the output of the hash function, which is no more than EVP_MAX_MD_SIZE bytes). If md is NULL, the digest is placed in a static array. The size of the output is placed in md_len, unless it is NULL. evp_md can be EVP_sha1(), EVP_ripemd160() etc. HMAC_CTX_init() initialises a HMAC_CTX before first use. It must be called. HMAC_CTX_cleanup() erases the key and other data from the HMAC_CTX and releases any associated resources. It must be called when an ​HMAC_CTX is no longer required. HMAC_cleanup() is an alias for HMAC_CTX_cleanup() included for back compatibility with 0.9.6b, it is deprecated. The following functions may be used if the message is not completely stored in memory: HMAC_Init() initializes a HMAC_CTX structure to use the hash function evp_md and the key key which is key_len bytes long. It is deprecated and only included for backward compatibility with OpenSSL 0.9.6b. HMAC_Init_ex() initializes or reuses a HMAC_CTX structure to use the function evp_md and key key. Either can be NULL, in which case the existing one will be reused. HMAC_CTX_init() must have been called before the first use of an HMAC_CTX in this function. N.B. HMAC_Init() had this undocumented behaviour in previous versions of OpenSSL − failure to switch to HMAC_Init_ex() in programs that expect it will cause them to stop working. HMAC_Update() can be called repeatedly with chunks of the message to be authenticated (len bytes at data). HMAC_Final() places the message authentication code in md, which must have space for the hash function output.

RETURN VALUESHMAC() returns a pointer to the message authentication code or NULL if an error occurred. HMAC_Init_ex(), HMAC_Update() and HMAC_Final() return 1 for success or 0 if an error occurred. HMAC_CTX_init() and HMAC_CTX_cleanup() do not return values.

CONFORMING TORFC 2104

SEE ALSOsha(3), evp(3)

HISTORYHMAC(), HMAC_Init(), HMAC_Update(), HMAC_Final() and HMAC_cleanup() are available since SSLeay 0.9.0. HMAC_CTX_init(), HMAC_Init_ex() and HMAC_CTX_cleanup() are available since OpenSSL 0.9.7. HMAC_Init_ex(), HMAC_Update() and HMAC_Final() did not return values in versions of OpenSSL before 1.0.0.
0
Johanes Gumabo
Data Size   :   15,394 byte
man-hmac.3sslBuild   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   3 / 165,069
Visitor ID   :     :  
Visitor IP   :   18.119.255.170   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.

ERROR : Need New Coding :         (parse_manual_page_|249|h___mac.3ssl|36/37|el══─{─══.|.el══─{─══. ds -- \|\(em\| )         (htmlprn|149|h___mac.3ssl|36/37|.el══─{─══. ds --  —  |.el══─{─══. ds -- \|\(em\| )         (parse_manual_page_|249|h___mac.3ssl|41|br══─}─══|'br══─}─══ )         (htmlprn|149|h___mac.3ssl|41|'br══─}─══ |'br══─}─══ )         (rof_nr_x|149|h___mac.3ssl|51/52|\nF|.ie \nF ══─{─══. de IX )         (rof_unit_scale_px|41|h___mac.3ssl|51/52|F|.ie \nF ══─{─══. de IX )         (rof_if|19|h___mac.3ssl|51/52|\nF|.ie \nF ══─{─══. de IX )         (htmlprn|149|h___mac.3ssl|51/52|.ie \nF ══─{─══. de IX|.ie \nF ══─{─══. de IX )         (rof_escape_sequence|91|h___mac.3ssl|53|\$1\t\\n%\t"\\$2" |. tm Index:\\$1\t\\n%\t"\\$2" )         (parse_manual_page_|249|h___mac.3ssl|57|══─}─══|.══─}─══ )         (htmlprn|149|h___mac.3ssl|57|.══─}─══ |.══─}─══ )