blob: 5efe2b132df19d2147cfc3871f2e5d954f90db02 [file] [log] [blame]
#ifndef HMAC_H
#define HMAC_H
typedef struct Hash_param {
void *hash_state;
int (*init)(void *hash_state);
int (*process)(void *hash_state, const unsigned char *in, unsigned int inlen);
int (*done)(void *hash_state, unsigned char *out);
unsigned int hashsize;
unsigned int blocksize;
} hash_param;
typedef struct Hmac_state {
hash_param *hash;
unsigned char *key;
} hmac_state;
int hmac_init(hmac_state *hmac, hash_param *hash, const unsigned char *key,
unsigned long keylen);
int hmac_process(hmac_state *hmac, const unsigned char *in,
unsigned long inlen);
int hmac_done(hmac_state *hmac, unsigned char *out, unsigned long *outlen);
#endif /* HMAC_H */