1 #include <mhash.h> 2 #include <stdio.h> 3 main()4int main() 5 { 6 7 char password[] = "Jefe"; 8 int keylen = 4; 9 char data[] = "what do ya want for nothing?"; 10 int datalen = 28; 11 MHASH td; 12 unsigned char mac[16]; 13 int j; 14 15 td = mhash_hmac_init(MHASH_MD5, password, keylen, mhash_get_hash_pblock(MHASH_MD5)); 16 17 mhash(td, data, datalen); 18 mhash_hmac_deinit(td, mac); 19 20 /* 21 * The output should be 0x750c783e6ab0b503eaa86e310a5db738 22 * according to RFC 2104. 23 */ 24 25 printf("0x"); 26 for (j = 0; j < mhash_get_block_size(MHASH_MD5); j++) { 27 printf("%.2x", mac[j]); 28 } 29 printf("\n"); 30 31 exit(0); 32 } 33