20 #define CRYPTO_HASH_ENGINE(class_, name_, hashsize_, statesize_, blocksize_) \ 21 class class_##Engine \ 24 static constexpr const char* name = #name_; \ 25 static constexpr size_t hashsize = hashsize_; \ 26 static constexpr size_t statesize = statesize_; \ 27 static constexpr size_t blocksize = blocksize_; \ 31 CRYPTO_NAME(name_, init)(&ctx); \ 34 void update(const void* data, size_t size) \ 36 CRYPTO_NAME(name_, update)(&ctx, static_cast<const uint8_t*>(data), size); \ 39 void final(uint8_t* hash) \ 41 CRYPTO_NAME(name_, final)(hash, &ctx); \ 44 uint64_t get_state(void* state) \ 46 return CRYPTO_NAME(name_, get_state)(&ctx, state); \ 49 void set_state(const void* state, uint64_t count) \ 51 CRYPTO_NAME(name_, set_state)(&ctx, state, count); \ 55 CRYPTO_CTX(name_) ctx; \ #define MD5_STATESIZE
Definition: HashApi.h:47
#define MD5_SIZE
Definition: HashApi.h:46
HashContext< Sha512Engine > Sha512
Definition: HashContext.h:141
#define SHA512_SIZE
Definition: HashApi.h:226
#define SHA384_BLOCKSIZE
Definition: HashApi.h:201
#define SHA384_STATESIZE
Definition: HashApi.h:200
#define SHA224_SIZE
Definition: HashApi.h:157
void sha1(unsigned char h[SHA1_SIZE], const void *_sha1_restrict p, size_t n)
CRYPTO_HASH_ENGINE(Md5, md5, MD5_SIZE, MD5_STATESIZE, MD5_BLOCKSIZE)
#define MD5_BLOCKSIZE
Definition: HashApi.h:48
#define SHA256_BLOCKSIZE
Definition: HashApi.h:179
#define SHA256_STATESIZE
Definition: HashApi.h:178
#define SHA1_BLOCKSIZE
Definition: HashApi.h:104
HashContext< Sha384Engine > Sha384
Definition: HashContext.h:140
#define SHA224_BLOCKSIZE
Definition: HashApi.h:159
#define SHA384_SIZE
Definition: HashApi.h:199
#define SHA512_STATESIZE
Definition: HashApi.h:227
#define SHA1_STATESIZE
Definition: HashApi.h:103
HashContext< Sha224Engine > Sha224
Definition: HashContext.h:138
#define SHA1_SIZE
Definition: aw-sha1.h:34
#define SHA256_SIZE
Definition: HashApi.h:177
HashContext< Sha1Engine > Sha1
Definition: HashContext.h:137
HashContext< Md5Engine > Md5
Definition: HashContext.h:136
HashContext< Sha256Engine > Sha256
Definition: HashContext.h:139
#define SHA512_BLOCKSIZE
Definition: HashApi.h:228
#define SHA224_STATESIZE
Definition: HashApi.h:158