AWS SDK for C++  1.9.103
AWS SDK for C++
HMAC.h
Go to the documentation of this file.
1 
6  /*
7  * Interface for Sha256 encryptor and hmac
8  */
9 #pragma once
10 
11 #include <aws/core/Core_EXPORTS.h>
12 
13 #include <aws/core/utils/Array.h>
15 
16 namespace Aws
17 {
18  namespace Utils
19  {
20  namespace Crypto
21  {
26  {
27  public:
28  HMAC() {};
29  virtual ~HMAC() {};
30 
34  virtual HashResult Calculate(const Aws::Utils::ByteBuffer& toSign, const Aws::Utils::ByteBuffer& secret) = 0;
35 
36  };
37 
43  {
44  public:
45  virtual ~HMACFactory() {}
46 
50  virtual std::shared_ptr<HMAC> CreateImplementation() const = 0;
51 
56  virtual void InitStaticState() {}
57 
62  virtual void CleanupStaticState() {}
63  };
64 
65  } // namespace Crypto
66  } // namespace Utils
67 } // namespace Aws
68 
Aws::Utils::Crypto::HMAC::Calculate
virtual HashResult Calculate(const Aws::Utils::ByteBuffer &toSign, const Aws::Utils::ByteBuffer &secret)=0
AWS_CORE_API
#define AWS_CORE_API
Definition: Core_EXPORTS.h:25
Aws::Utils::Crypto::HMAC
Definition: HMAC.h:26
Aws::Utils::Crypto::HMACFactory
Definition: HMAC.h:43
Aws::Utils::Crypto::HMACFactory::InitStaticState
virtual void InitStaticState()
Definition: HMAC.h:56
Aws::Utils::Crypto::HMACFactory::CreateImplementation
virtual std::shared_ptr< HMAC > CreateImplementation() const =0
HashResult.h
Aws::Utils::Crypto::HMAC::~HMAC
virtual ~HMAC()
Definition: HMAC.h:29
Aws::Utils::Array< unsigned char >
Core_EXPORTS.h
Aws
Definition: AccessManagementClient.h:15
Array.h
Aws::Utils::Crypto::HMACFactory::~HMACFactory
virtual ~HMACFactory()
Definition: HMAC.h:45
Aws::Utils::Crypto::HMACFactory::CleanupStaticState
virtual void CleanupStaticState()
Definition: HMAC.h:62
Aws::Utils::Outcome
Definition: Outcome.h:26
Aws::Utils::Crypto::HMAC::HMAC
HMAC()
Definition: HMAC.h:28