1 #ifndef LS_CRYPTO_PROVIDER_H 2 #define LS_CRYPTO_PROVIDER_H 6 #pragma warning( push ) 7 #pragma warning( disable : 4251 ) 22 using ptr_t = std::shared_ptr<CryptoProvider>;
30 virtual std::string encrypt(
const std::string& inputString ) = 0;
35 virtual std::string decrypt(
const std::string& inputString ) = 0;
39 virtual void setSalt(
const std::string& salt );
43 virtual void setKey(
const std::string& key );
47 bool isKeySet()
const;
58 using ptr_t = std::shared_ptr<DefaultCryptoProvider>;
71 return std::make_shared<DefaultCryptoProvider>();
77 std::string encrypt(
const std::string& inputString )
override;
82 std::string decrypt(
const std::string& inputString )
override;
85 const unsigned char* getKey(
const std::string& key );
90 #pragma warning( pop ) 93 #endif // LS_CRYPTO_PROVIDER_H CryptoProvider interface.
std::shared_ptr< CryptoProvider > ptr_t
static ptr_t create()
Allocates and constructs a DefaultCryptoProvider object and passes args to DefaultCryptoProvider().
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
If no CryptoProvider is set, this is the default CryptoProvider that will be used.