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