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 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 15namespace rtc { 16 17struct 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 26void SHA1Init(SHA1_CTX* context); 27void SHA1Update(SHA1_CTX* context, const uint8* data, size_t len); 28void SHA1Final(SHA1_CTX* context, uint8 digest[SHA1_DIGEST_SIZE]); 29 30#endif // WEBRTC_BASE_SHA1_H_ 31 32} // namespace rtc 33