1#ifndef LS_CRYPTO_PROVIDER_H
2#define LS_CRYPTO_PROVIDER_H
7#pragma warning(disable : 4251)
23 using ptr_t = std::shared_ptr<CryptoProvider>;
31 virtual std::string
encrypt(
const std::string &inputString) = 0;
36 virtual std::string
decrypt(
const std::string &inputString) = 0;
40 virtual void setSalt(
const std::string &salt);
44 virtual void setKey(
const std::string &key);
59 using ptr_t = std::shared_ptr<DefaultCryptoProvider>;
72 static ptr_t create() {
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);
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.
~DefaultCryptoProvider() override
DefaultCryptoProvider destructor.