X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/bc4af0b920be60156e5567ada3339b432d3f6e3a..f8ac1720a94468d1384e88a57729e6d9801b56fd:/apt-pkg/contrib/md5.h diff --git a/apt-pkg/contrib/md5.h b/apt-pkg/contrib/md5.h index 84863f7c0..9e20f7cef 100644 --- a/apt-pkg/contrib/md5.h +++ b/apt-pkg/contrib/md5.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: md5.h,v 1.2 1998/11/25 23:54:45 jgg Exp $ +// $Id: md5.h,v 1.6 2001/05/07 05:06:52 jgg Exp $ /* ###################################################################### MD5SumValue - Storage for a MD5Sum @@ -11,6 +11,8 @@ A MD5Sum is used to generate a (hopefully) unique 16 byte number for a block of data. This can be used to gaurd against corruption of a file. + MD5 should not be used for tamper protection, use SHA or something more + secure. There are two classes because computing a MD5 is not a continual operation unless 64 byte blocks are used. Also the summation requires an @@ -26,12 +28,16 @@ #endif #include +#include + +using std::string; +using std::min; class MD5Summation; class MD5SumValue { - friend MD5Summation; + friend class MD5Summation; unsigned char Sum[4*4]; public: @@ -39,9 +45,13 @@ class MD5SumValue // Accessors bool operator ==(const MD5SumValue &rhs) const; string Value() const; - inline operator string() const {return Value();}; + inline void Value(unsigned char S[16]) + {for (int I = 0; I != sizeof(Sum); I++) S[I] = Sum[I];}; + inline operator string() const {return Value();}; bool Set(string Str); - + inline void Set(unsigned char S[16]) + {for (int I = 0; I != sizeof(Sum); I++) Sum[I] = S[I];}; + MD5SumValue(string Str); MD5SumValue(); };