8#include <aws/core/Core_EXPORTS.h>
9#include <aws/core/utils/Array.h>
20 class SymmetricCipher;
23 class SymmetricCipherFactory;
24 class SecureRandomBytes;
25 class SecureRandomFactory;
127 AWS_CORE_API
void SetMD5Factory(
const std::shared_ptr<HashFactory>& factory);
AWS_CORE_API void SetCRC32CFactory(const std::shared_ptr< HashFactory > &factory)
AWS_CORE_API void SetAES_CTRFactory(const std::shared_ptr< SymmetricCipherFactory > &factory)
AWS_CORE_API std::shared_ptr< Hash > CreateCRC32CImplementation()
AWS_CORE_API std::shared_ptr< Hash > CreateCRC32Implementation()
AWS_CORE_API void SetCRC32Factory(const std::shared_ptr< HashFactory > &factory)
AWS_CORE_API void SetSha256Factory(const std::shared_ptr< HashFactory > &factory)
AWS_CORE_API void SetMD5Factory(const std::shared_ptr< HashFactory > &factory)
AWS_CORE_API std::shared_ptr< Hash > CreateMD5Implementation()
AWS_CORE_API std::shared_ptr< SecureRandomBytes > CreateSecureRandomBytesImplementation()
AWS_CORE_API void InitCrypto()
AWS_CORE_API std::shared_ptr< SymmetricCipher > CreateAES_KeyWrapImplementation(const CryptoBuffer &key)
AWS_CORE_API std::shared_ptr< HMAC > CreateSha256HMACImplementation()
AWS_CORE_API void SetSha256HMACFactory(const std::shared_ptr< HMACFactory > &factory)
AWS_CORE_API void SetSecureRandomFactory(const std::shared_ptr< SecureRandomFactory > &factory)
AWS_CORE_API std::shared_ptr< Hash > CreateSha1Implementation()
AWS_CORE_API void SetAES_KeyWrapFactory(const std::shared_ptr< SymmetricCipherFactory > &factory)
AWS_CORE_API void CleanupCrypto()
AWS_CORE_API void SetAES_GCMFactory(const std::shared_ptr< SymmetricCipherFactory > &factory)
AWS_CORE_API void SetSha1Factory(const std::shared_ptr< HashFactory > &factory)
AWS_CORE_API std::shared_ptr< SymmetricCipher > CreateAES_CBCImplementation(const CryptoBuffer &key)
AWS_CORE_API void SetAES_CBCFactory(const std::shared_ptr< SymmetricCipherFactory > &factory)
AWS_CORE_API std::shared_ptr< SymmetricCipher > CreateAES_GCMImplementation(const CryptoBuffer &key)
AWS_CORE_API std::shared_ptr< SymmetricCipher > CreateAES_CTRImplementation(const CryptoBuffer &key)
AWS_CORE_API std::shared_ptr< Hash > CreateSha256Implementation()
AWS_CORE_API void SetInitCleanupOpenSSLFlag(bool initCleanupFlag)