43 #ifndef CCXX_DIGEST_H_
44 #define CCXX_DIGEST_H_
46 #ifndef CCXX_MISSING_H_
50 #ifndef CCXX_THREAD_H_
54 #ifndef CCXX_EXCEPTION_H_
58 #ifdef CCXX_NAMESPACES
79 virtual unsigned getSize(
void) = 0;
87 virtual unsigned getDigest(
unsigned char *buffer) = 0;
95 virtual void putDigest(
const unsigned char *buffer,
unsigned length) = 0;
102 virtual std::ostream &strDigest(std::ostream &os) = 0;
111 virtual void initDigest(
void) = 0;
129 std::ostream &strDigest(std::ostream &os);
134 void initDigest(
void)
137 unsigned getSize(
void)
140 unsigned getDigest(
unsigned char *buffer);
142 void putDigest(
const unsigned char *buffer,
unsigned length);
154 unsigned short crc16;
159 std::ostream &strDigest(std::ostream &os);
164 inline void initDigest(
void)
167 inline unsigned getSize(
void)
170 unsigned getDigest(
unsigned char *buffer);
172 void putDigest(
const unsigned char *buffer,
unsigned length);
185 unsigned long crc_table[256];
186 unsigned long crc_reg;
190 unsigned char overflow(
unsigned char octet);
192 std::ostream &strDigest(std::ostream &os);
197 void initDigest(
void);
201 unsigned getDigest(
unsigned char *buffer);
203 void putDigest(
const unsigned char *buffer,
unsigned length);
215 unsigned long state[4];
216 unsigned long count[2];
217 unsigned char buf[64];
219 unsigned char md5[16];
229 std::ostream &strDigest(std::ostream &os);
234 void initDigest(
void);
236 inline unsigned getSize(
void)
239 unsigned getDigest(
unsigned char *buffer);
241 void putDigest(
const unsigned char *buffer,
unsigned len);
244 #ifdef COMMON_STD_EXCEPTION
254 class __EXPORT DigestException :
public Exception {
256 DigestException(
const String &str) : Exception(str) {};
260 #ifdef CCXX_NAMESPACES