diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2011-08-09 14:38:01 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2011-08-09 14:38:01 +0200 |
commit | 216d0bd8869c4f52ead5256064512ac97e9fc824 (patch) | |
tree | ea6911a231e29b73a883d4449fe7f88941ddd92d /apt-pkg/contrib/md5.h | |
parent | 629b60f6feea2d2d356645aa2615b212481bd3d8 (diff) | |
parent | 97efc27f0723f09405d7a1836ab21c2e2948eb10 (diff) |
merged from the debian-experimental2 branch
Diffstat (limited to 'apt-pkg/contrib/md5.h')
-rw-r--r-- | apt-pkg/contrib/md5.h | 37 |
1 files changed, 8 insertions, 29 deletions
diff --git a/apt-pkg/contrib/md5.h b/apt-pkg/contrib/md5.h index 96c8975b4..e76428325 100644 --- a/apt-pkg/contrib/md5.h +++ b/apt-pkg/contrib/md5.h @@ -32,45 +32,24 @@ using std::string; using std::min; -class MD5Summation; +#include "hashsum_template.h" -class MD5SumValue -{ - friend class MD5Summation; - unsigned char Sum[4*4]; - - public: - - // Accessors - bool operator ==(const MD5SumValue &rhs) const; - string Value() const; - 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(); -}; +typedef HashSumValue<128> MD5SumValue; -class MD5Summation +class MD5Summation : public SummationImplementation { uint32_t Buf[4]; unsigned char Bytes[2*4]; unsigned char In[16*4]; bool Done; - + public: - bool Add(const unsigned char *Data,unsigned long Size); - inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));}; - bool AddFD(int Fd,unsigned long Size); - inline bool Add(const unsigned char *Beg,const unsigned char *End) - {return Add(Beg,End-Beg);}; + bool Add(const unsigned char *inbuf, unsigned long inlen); + using SummationImplementation::Add; + MD5SumValue Result(); - + MD5Summation(); }; |