TMD5
class description - source file - inheritance tree
private:
void ByteReverse(UChar_t* buf, UInt_t longs)
void Transform(UInt_t* buf, const UInt_t* in)
public:
TMD5 TMD5()
TMD5 TMD5(const UChar_t* digest)
TMD5 TMD5(const TMD5& md5)
void ~TMD5()
const char* AsString() const
static TClass* Class()
static TMD5* FileChecksum(const char* file)
static Int_t FileChecksum(const char* file, UChar_t* digest)
void Final()
void Final(UChar_t* digest)
virtual TClass* IsA() const
TMD5& operator=(const TMD5& rhs)
void Print() const
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void Update(const UChar_t* buf, UInt_t len)
private:
UInt_t fBuf[4] !temp buffer
UInt_t fBits[2] !temp buffer
UChar_t fIn[64] !temp buffer
UChar_t fDigest[16] message digest
Bool_t fFinalized true if message digest has been finalized
TMD5
This code implements the MD5 message-digest algorithm.
The algorithm is due to Ron Rivest. This code was
written by Colin Plumb in 1993, no copyright is claimed.
This code is in the public domain; do with it what you wish.
Equivalent code is available from RSA Data Security, Inc.
This code has been tested against that, and is equivalent,
except that you don't need to include two pages of legalese
with every copy.
To compute the message digest of a chunk of bytes, create an
TMD5 object, call Update() as needed on buffers full of bytes, and
then call Final(), which will, optinally, fill a supplied 16-byte
array with the digest.
TMD5()
Create TMD5 object. Set bit count to 0 and buffer to mysterious
initialization constants.
TMD5(const UChar_t *digest)
Create finalized TMD5 object containing passed in 16 byte digest.
TMD5(const TMD5 &md5)
MD5 copy ctor. Special copy ctor avoids copying unnecessary
temp arrays when finalized.
void Update(const UChar_t *buf, UInt_t len)
Update TMD5 object to reflect the concatenation of another buffer full
of bytes.
void Final(UChar_t digest[16])
Final wrapup - pad to 64-byte boundary with the bit patterns
1 0* (64-bit count of bits processed, MSB-first).
Returns digest.
void Final()
Final wrapup - pad to 64-byte boundary with the bit patterns
1 0* (64-bit count of bits processed, MSB-first).
void Print() const
Print digest in ascii hex form.
const char* AsString() const
Return message digest as string. Returns "" in case Final() has
not yet been called. Copy result because it points to a statically
allocated string.
void ByteReverse(UChar_t *buf, UInt_t longs)
void Transform(UInt_t buf[4], const UInt_t in[16])
The core of the MD5 algorithm, this alters an existing MD5 hash to
reflect the addition of 16 longwords of new data. Update() blocks
the data and converts bytes into longwords for this routine.
TMD5* FileChecksum(const char *file)
Returns checksum of specified file. The returned TMD5 object must
be deleted by the user. Returns 0 in case the file does not exit
or in case of error. This function preserves the modtime of the file
so it can be safely used in conjunction with methods that keep track
of the file's modtime.
Int_t FileChecksum(const char *file, UChar_t digest[16])
Returns checksum of specified file in digest argument. Returns -1 in
case of error, 0 otherwise. This method preserves the modtime of the
file so it can be safely used in conjunction with methods that keep
track of the file's modtime.
Inline Functions
TMD5& operator=(const TMD5& rhs)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
void ~TMD5()
Author: Fons Rademakers 29/9/2001
Last update: root/base:$Name: $:$Id: TMD5.cxx,v 1.8 2002/03/16 18:30:11 rdm Exp $
Copyright (C) 1995-2001, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Top of the page
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.