28 lines
528 B
C
28 lines
528 B
C
|
// HmacSha256.h
|
||
|
// Implements HMAC-SHA-256 (RFC2104, FIPS-198)
|
||
|
|
||
|
#ifndef __CRYPTO_HMAC_SHA256_H
|
||
|
#define __CRYPTO_HMAC_SHA256_H
|
||
|
|
||
|
#include "../../../C/Sha256.h"
|
||
|
|
||
|
namespace NCrypto {
|
||
|
namespace NSha256 {
|
||
|
|
||
|
const unsigned kDigestSize = SHA256_DIGEST_SIZE;
|
||
|
|
||
|
class CHmac
|
||
|
{
|
||
|
CSha256 _sha;
|
||
|
CSha256 _sha2;
|
||
|
public:
|
||
|
void SetKey(const Byte *key, size_t keySize);
|
||
|
void Update(const Byte *data, size_t dataSize) { Sha256_Update(&_sha, data, dataSize); }
|
||
|
void Final(Byte *mac);
|
||
|
// void Final(Byte *mac, size_t macSize);
|
||
|
};
|
||
|
|
||
|
}}
|
||
|
|
||
|
#endif
|