40 #if defined(__cplusplus) 47 #if !defined(USE_SHA1) && !defined(USE_SHA256) 48 #error define USE_SHA1 or USE_SHA256 to set the HMAC hash algorithm 55 #define HASH_INPUT_SIZE SHA1_BLOCK_SIZE 56 #define HASH_OUTPUT_SIZE SHA1_DIGEST_SIZE 57 #define sha_ctx sha1_ctx 58 #define sha_begin sha1_begin 59 #define sha_hash sha1_hash 60 #define sha_end sha1_end 68 #define HASH_INPUT_SIZE SHA256_BLOCK_SIZE 69 #define HASH_OUTPUT_SIZE SHA256_DIGEST_SIZE 70 #define sha_ctx sha256_ctx 71 #define sha_begin sha256_begin 72 #define sha_hash sha256_hash 73 #define sha_end sha256_end 78 #define HMAC_BAD_MODE -1 79 #define HMAC_IN_DATA 0xffffffff 82 {
unsigned char key[HASH_INPUT_SIZE];
89 int hmac_sha_key(
const unsigned char key[],
unsigned long key_len,
hmac_ctx cx[1]);
91 void hmac_sha_data(
const unsigned char data[],
unsigned long data_len,
hmac_ctx cx[1]);
93 void hmac_sha_end(
unsigned char mac[],
unsigned long mac_len,
hmac_ctx cx[1]);
95 void hmac_sha(
const unsigned char key[],
unsigned long key_len,
96 const unsigned char data[],
unsigned long data_len,
97 unsigned char mac[],
unsigned long mac_len);
99 #if defined(__cplusplus)