JLChen
2020-12-10 a8c5f79b0d93adfa7f23601dd0fee30edc14f0d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
 * @file re_hmac.h  Interface to HMAC functions
 *
 * Copyright (C) 2010 Creytiv.com
 */
 
 
void hmac_sha1(const uint8_t *k,   /* secret key */
           size_t         lk,  /* length of the key in bytes */
           const uint8_t *d,   /* data */
           size_t         ld,  /* length of data in bytes */
           uint8_t*       out, /* output buffer, at least "t" bytes */
           size_t         t);
 
 
enum hmac_hash {
    HMAC_HASH_SHA1,
    HMAC_HASH_SHA256
};
 
struct hmac;
 
int  hmac_create(struct hmac **hmacp, enum hmac_hash hash,
         const uint8_t *key, size_t key_len);
int  hmac_digest(struct hmac *hmac, uint8_t *md, size_t md_len,
         const uint8_t *data, size_t data_len);