• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * SHA-1 in C
3  * By Steve Reid <sreid@sea-to-sky.net>
4  * 100% Public Domain
5  *
6 */
7 
8 // Ported to C++, Google style, under namespace rtc.
9 
10 #ifndef WEBRTC_BASE_SHA1_H_
11 #define WEBRTC_BASE_SHA1_H_
12 
13 #include <stdint.h>
14 #include <stdlib.h>
15 
16 namespace rtc {
17 
18 struct SHA1_CTX {
19   uint32_t state[5];
20   // TODO: Change bit count to uint64_t.
21   uint32_t count[2];  // Bit count of input.
22   uint8_t buffer[64];
23 };
24 
25 #define SHA1_DIGEST_SIZE 20
26 
27 void SHA1Init(SHA1_CTX* context);
28 void SHA1Update(SHA1_CTX* context, const uint8_t* data, size_t len);
29 void SHA1Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]);
30 
31 #endif  // WEBRTC_BASE_SHA1_H_
32 
33 }  // namespace rtc
34