AWS SDK for C++  1.9.71
AWS SDK for C++
Sha256.h
Go to the documentation of this file.
1 
6  /*
7  * Interface for Sha256 encryptor and hmac
8  */
9 #pragma once
10 
11 #ifdef __APPLE__
12 
13 #ifdef __clang__
14 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
15 #endif // __clang__
16 
17 #ifdef __GNUC__
18 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
19 #endif // __GNUC__
20 
21 #endif // __APPLE__
22 
23 #include <aws/core/Core_EXPORTS.h>
24 
26 
27 namespace Aws
28 {
29  namespace Utils
30  {
31  namespace Crypto
32  {
33  class WindowsHashImpl;
34 
38  class AWS_CORE_API Sha256 : public Hash
39  {
40  public:
44  Sha256();
45  virtual ~Sha256();
46 
50  virtual HashResult Calculate(const Aws::String& str) override;
51 
55  virtual HashResult Calculate(Aws::IStream& stream) override;
56 
57  private:
58 
59  std::shared_ptr< Hash > m_hashImpl;
60  };
61 
62  } // namespace Crypto
63  } // namespace Utils
64 } // namespace Aws
65 
Aws::Utils::Crypto::Sha256::Calculate
virtual HashResult Calculate(Aws::IStream &stream) override
AWS_CORE_API
#define AWS_CORE_API
Definition: Core_EXPORTS.h:25
Aws::Utils::Crypto::Hash
Definition: Hash.h:23
Aws::IStream
std::basic_istream< char, std::char_traits< char > > IStream
Definition: AWSStreamFwd.h:20
Aws::Utils::Crypto::Sha256::Sha256
Sha256()
Aws::Utils::Crypto::Sha256
Definition: Sha256.h:39
Aws::Utils::Crypto::Sha256::~Sha256
virtual ~Sha256()
Core_EXPORTS.h
Aws
Definition: AccessManagementClient.h:15
Aws::Utils::Outcome
Definition: Outcome.h:26
Aws::Utils::Crypto::Sha256::Calculate
virtual HashResult Calculate(const Aws::String &str) override
Aws::String
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
Definition: AWSString.h:97
Hash.h