Home | History | Annotate | Download | only in base
      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