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
|
|
1971.2.2
by kalebral at gmail
a few more updates of files that did not have license or had incorrect license structure |
15 |
*
|
2037.1.1
by kalebral at gmail
More copyright updates |
16 |
* Copyright (C) 2010 nobody (this is public domain)
|
17 |
*
|
|
1971.2.2
by kalebral at gmail
a few more updates of files that did not have license or had incorrect license structure |
18 |
* This file is based on public domain code.
|
19 |
* Initial source code is in the public domain,
|
|
20 |
* so clarified by Steve Reid <steve@edmweb.com>
|
|
21 |
*
|
|
1712.1.1
by Monty Taylor
Merged libdrizzle directly into tree. |
22 |
* @{
|
23 |
*/
|
|
24 |
||
25 |
#define SHA1_BLOCK_LENGTH 64
|
|
26 |
#define SHA1_DIGEST_LENGTH 20
|
|
27 |
#define SHA1_DIGEST_STRING_LENGTH (SHA1_DIGEST_LENGTH * 2 + 1)
|
|
28 |
||
29 |
typedef struct { |
|
30 |
uint32_t state[5]; |
|
31 |
uint64_t count; |
|
32 |
uint8_t buffer[SHA1_BLOCK_LENGTH]; |
|
33 |
} SHA1_CTX; |
|
34 |
||
35 |
void SHA1Init(SHA1_CTX *); |
|
36 |
void SHA1Pad(SHA1_CTX *); |
|
37 |
void SHA1Transform(uint32_t [5], const uint8_t [SHA1_BLOCK_LENGTH]); |
|
38 |
void SHA1Update(SHA1_CTX *, const uint8_t *, size_t); |
|
39 |
void SHA1Final(uint8_t [SHA1_DIGEST_LENGTH], SHA1_CTX *); |
|
40 |
||
41 |
/** @} */
|
|
42 |
||
43 |
#ifdef __cplusplus
|
|
44 |
}
|
|
45 |
#endif
|
|
46 |
||
47 |
#endif /* _SHA1_H */ |