1#ifndef LS_CRYPTO_PROVIDER_H
2#define LS_CRYPTO_PROVIDER_H
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 );
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 );
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
CryptoProvider interface.
std::shared_ptr< CryptoProvider > ptr_t
virtual void setSalt(const std::string &salt)
Set cryptographic salt.
virtual std::string encrypt(const std::string &inputString)=0
Encrypt given string.
virtual ~CryptoProvider()
Destructor for CryptoProvider object.
virtual std::string decrypt(const std::string &inputString)=0
Decrypt given string.
bool isKeySet() const
Checker for whether key is set.
virtual void setKey(const std::string &key)
Set key.
If no CryptoProvider is set, this is the default CryptoProvider that will be used.
DefaultCryptoProvider()
DefaultCryptoProvider constructor.
static ptr_t create()
Allocates and constructs a DefaultCryptoProvider object and passes args to DefaultCryptoProvider().
std::string decrypt(const std::string &inputString) override
Decrypt given string.
std::string encrypt(const std::string &inputString) override
Encrypt given string.
std::shared_ptr< DefaultCryptoProvider > ptr_t
~DefaultCryptoProvider() override
DefaultCryptoProvider destructor.