HMAC
unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
enum { HMAC, BLKCIPHER, AUTHENC, GCM } mode;
enum { HASH, HMAC, CIPHER, ETA, GCM, CCM } mode;