Я использую OpenSSL. Я хочу рассчитать ma c сообщения, используя алгоритм HMA C. Определения HMA C следующие:
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);
Теперь я обнаружил, что первым параметром HMA C является EVP_MD . Я заметил, что многие функции возвращают этот параметр. Где я могу найти содержимое EVP_MD в его справочнике или исходном коде.
const EVP_MD *EVP_md_null(void);
const EVP_MD *EVP_md2(void);
const EVP_MD *EVP_md5(void);
const EVP_MD *EVP_sha(void);
const EVP_MD *EVP_sha1(void);
const EVP_MD *EVP_dss(void);
const EVP_MD *EVP_dss1(void);
const EVP_MD *EVP_mdc2(void);
const EVP_MD *EVP_ripemd160(void);
const EVP_MD *EVP_sha224(void);
const EVP_MD *EVP_sha256(void);
const EVP_MD *EVP_sha384(void);
const EVP_MD *EVP_sha512(void);
Какая связь между EVP_MD и EVP_MD_CTX?