|  | /* | 
|  | * SHA-1 in C | 
|  | * By Steve Reid <sreid@sea-to-sky.net> | 
|  | * 100% Public Domain | 
|  | * | 
|  | */ | 
|  |  | 
|  | // Ported to C++, Google style, under namespace rtc. | 
|  |  | 
|  | #ifndef WEBRTC_RTC_BASE_SHA1_H_ | 
|  | #define WEBRTC_RTC_BASE_SHA1_H_ | 
|  |  | 
|  | #include <stdint.h> | 
|  | #include <stdlib.h> | 
|  |  | 
|  | namespace rtc { | 
|  |  | 
|  | struct SHA1_CTX { | 
|  | uint32_t state[5]; | 
|  | // TODO: Change bit count to uint64_t. | 
|  | uint32_t count[2];  // Bit count of input. | 
|  | uint8_t buffer[64]; | 
|  | }; | 
|  |  | 
|  | #define SHA1_DIGEST_SIZE 20 | 
|  |  | 
|  | void SHA1Init(SHA1_CTX* context); | 
|  | void SHA1Update(SHA1_CTX* context, const uint8_t* data, size_t len); | 
|  | void SHA1Final(SHA1_CTX* context, uint8_t digest[SHA1_DIGEST_SIZE]); | 
|  |  | 
|  | }  // namespace rtc | 
|  |  | 
|  | #endif  // WEBRTC_RTC_BASE_SHA1_H_ |