#include #include int main() { char password[] = "Jefe"; int keylen = 4; char data[] = "what do ya want for nothing?"; int datalen = 28; MHASH td; unsigned char mac[16]; int j; td = mhash_hmac_init(MHASH_MD5, password, keylen, mhash_get_hash_pblock(MHASH_MD5)); mhash(td, data, datalen); mhash_hmac_deinit(td, mac); /* * The output should be 0x750c783e6ab0b503eaa86e310a5db738 * according to RFC 2104. */ printf("0x"); for (j = 0; j < mhash_get_block_size(MHASH_MD5); j++) { printf("%.2x", mac[j]); } printf("\n"); exit(0); }