#ifndef ROOT_TMD5
#define ROOT_TMD5
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
class TBuffer;
class TMD5;
Bool_t operator==(const TMD5 &m1, const TMD5 &m2);
class TMD5 {
friend Bool_t operator==(const TMD5 &m1, const TMD5 &m2);
private:
   UInt_t    fBuf[4];     
   UInt_t    fBits[2];    
   UChar_t   fIn[64];     
   UChar_t   fDigest[16]; 
   Bool_t    fFinalized;  
   void Transform(UInt_t buf[4], const UChar_t in[64]);
   void Encode(UChar_t *out, const UInt_t *in, UInt_t len);
   void Decode(UInt_t *out, const UChar_t *in, UInt_t len);
public:
   TMD5();
   TMD5(const UChar_t *digest);
   TMD5(const TMD5 &md5);
   virtual ~TMD5() { }
   TMD5 &operator=(const TMD5 &rhs);
   void        Update(const UChar_t *buf, UInt_t len);
   void        Final();
   void        Final(UChar_t digest[16]);
   void        Print() const;
   const char *AsString() const;
   static TMD5  *ReadChecksum(const char *file);
   static Int_t  WriteChecksum(const char *file, const TMD5 *md5);
   static TMD5  *FileChecksum(const char *file);
   static Int_t  FileChecksum(const char *file, UChar_t digest[16]);
   ClassDef(TMD5,1)  
};
inline TBuffer &operator>>(TBuffer &buf, TMD5 &md5)
{ md5.Streamer(buf); return buf; }
inline TBuffer &operator<<(TBuffer &buf, const TMD5 &md5)
{ ((TMD5&)md5).Streamer(buf); return buf; }
inline Bool_t operator!=(const TMD5 &m1, const TMD5 &m2)
{ return !(m1 == m2); }
#endif
Last change: Tue May 13 17:20:03 2008
Last generated: 2008-05-13 17:20
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.