1712.1.1
by Monty Taylor
Merged libdrizzle directly into tree. |
1 |
/**
|
2 |
* @file
|
|
3 |
* @brief SHA1 Declarations
|
|
4 |
*/
|
|
5 |
||
6 |
#ifndef _SHA1_H
|
|
7 |
#define _SHA1_H
|
|
8 |
||
9 |
#ifdef __cplusplus
|
|
10 |
extern "C" { |
|
11 |
#endif
|
|
12 |
||
13 |
/**
|
|
14 |
* @addtogroup sha1 SHA-1 in C
|
|
15 |
* By Steve Reid <steve@edmweb.com>
|
|
16 |
* 100% Public Domain
|
|
17 |
* @{
|
|
18 |
*/
|
|
19 |
||
20 |
#define SHA1_BLOCK_LENGTH 64
|
|
21 |
#define SHA1_DIGEST_LENGTH 20
|
|
22 |
#define SHA1_DIGEST_STRING_LENGTH (SHA1_DIGEST_LENGTH * 2 + 1)
|
|
23 |
||
24 |
typedef struct { |
|
25 |
uint32_t state[5]; |
|
26 |
uint64_t count; |
|
27 |
uint8_t buffer[SHA1_BLOCK_LENGTH]; |
|
28 |
} SHA1_CTX; |
|
29 |
||
30 |
void SHA1Init(SHA1_CTX *); |
|
31 |
void SHA1Pad(SHA1_CTX *); |
|
32 |
void SHA1Transform(uint32_t [5], const uint8_t [SHA1_BLOCK_LENGTH]); |
|
33 |
void SHA1Update(SHA1_CTX *, const uint8_t *, size_t); |
|
34 |
void SHA1Final(uint8_t [SHA1_DIGEST_LENGTH], SHA1_CTX *); |
|
35 |
||
36 |
/** @} */
|
|
37 |
||
38 |
#ifdef __cplusplus
|
|
39 |
}
|
|
40 |
#endif
|
|
41 |
||
42 |
#endif /* _SHA1_H */ |