This commit is contained in:
Danny Robson 2015-03-02 00:35:30 +11:00
parent f4fe636cb0
commit cce9af76e3
2 changed files with 30 additions and 31 deletions

View File

@ -23,7 +23,7 @@
#include <cstdint>
#include <cstdlib>
extern uint32_t adler32(const void* restrict, size_t);
extern uint32_t adler32 (const void* restrict, size_t);
extern uint32_t adler32 (const uint8_t *first, const uint8_t *last);
#endif

View File

@ -26,39 +26,38 @@
#include <array>
namespace util {
namespace hash {
class SHA1 {
public:
typedef std::array<uint8_t,20> digest_t;
//-----------------------------------------------------------------------------
namespace util { namespace hash {
class SHA1 {
public:
typedef std::array<uint8_t,20> digest_t;
public:
SHA1();
public:
SHA1();
void update (const uint8_t *, size_t);
void finish (void);
digest_t digest (void) const;
void reset (void);
void update (const uint8_t *, size_t);
void finish (void);
digest_t digest (void) const;
void reset (void);
enum state_t {
READY,
FINISHED
};
protected:
void process (void);
state_t state;
uint64_t total;
uint32_t H[5];
union {
uint8_t c[16*4+64*4];
uint32_t W[16 +64 ];
};
enum state_t {
READY,
FINISHED
};
}
}
protected:
void process (void);
state_t state;
uint64_t total;
uint32_t H[5];
union {
uint8_t c[16*4+64*4];
uint32_t W[16 +64 ];
};
};
} }
#endif