ATLAS Offline Software
Loading...
Searching...
No Matches
MD5.h
Go to the documentation of this file.
1
7
8
9#ifndef CXXUTILS_MD5_H
10#define CXXUTILS_MD5_H
11
12
13#include <string>
14#include <cstdlib>
15#include <cstdint>
16#include <uuid/uuid.h>
17
18
19class MD5
20{
21public:
22 MD5 (const unsigned char* buffer, unsigned long len);
23 MD5 (const char* buffer, size_t len);
24 MD5 (const std::string& buffer);
25 void raw_digest (unsigned char* s) const; // 16-byte buffer
26 void uuid_digest (uuid_t& uuid) const;
27 std::string hex_digest() const;
28
29private:
30 typedef uint32_t MD5_u32plus;
31 struct Context {
34 unsigned char buffer[64];
36 };
37
39 unsigned char m_digest[16];
40
41 void init();
42 void update (const void* data, size_t size);
43 void digest (unsigned char* result);
44
45 const void* body (const void* data, size_t size);
46};
47
48
49#endif // not CXXUTILS_MD5_H
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
void digest(unsigned char *result)
Definition MD5.cxx:322
MD5(const unsigned char *buffer, unsigned long len)
Definition MD5.cxx:56
void uuid_digest(uuid_t &uuid) const
Definition MD5.cxx:88
const void * body(const void *data, size_t size)
Definition MD5.cxx:161
uint32_t MD5_u32plus
Definition MD5.h:30
void init()
Definition MD5.cxx:269
std::string hex_digest() const
Definition MD5.cxx:94
Context m_ctx
Definition MD5.h:38
void raw_digest(unsigned char *s) const
Definition MD5.cxx:82
void update(const void *data, size_t size)
Definition MD5.cxx:281
unsigned char m_digest[16]
Definition MD5.h:39
MD5_u32plus hi
Definition MD5.h:32
unsigned char buffer[64]
Definition MD5.h:34
MD5_u32plus lo
Definition MD5.h:32
MD5_u32plus block[16]
Definition MD5.h:35
MD5_u32plus a
Definition MD5.h:33
MD5_u32plus c
Definition MD5.h:33
MD5_u32plus d
Definition MD5.h:33
MD5_u32plus b
Definition MD5.h:33