Conscience Core
CscMessageEncryption.h
Go to the documentation of this file.
1 #ifndef CscMessageEncryption_H_
2 #define CscMessageEncryption_H_
3 
4 #include "CscCommon.h"
5 
7 
9  public:
13  virtual vector<unsigned char>* encrypt(const vector<unsigned char> *data) const = 0;
14  virtual vector<unsigned char>* encrypt(const string &bytes) const = 0;
18  virtual string decrypt(const vector<unsigned char> *data) const = 0;
19  virtual ~CscMessageEncryption();
20  static const CscMessageEncryption *none();
21  static const CscMessageEncryption *AES256CBCWithPassword(const string &password);
22  private:
23  class NoEncryption;
25  };
26 
28  vector<unsigned char>* encrypt(const string &message) const override;
32  vector<unsigned char>* encrypt(const vector<unsigned char> *bytes) const override;
36  string decrypt(const vector<unsigned char> *data) const override;
37  };
38 
40  private:
41  string key;
42  string iv;
43  public:
44  AES256CBCWithPasswordEncryption(const string &password);
45  vector<unsigned char>* encrypt(const string &message) const override;
49  vector<unsigned char>* encrypt(const vector<unsigned char> *bytes) const override;
53  string decrypt(const vector<unsigned char> *data) const override;
54  };
55 }
56 
57 #endif
conscience_core::communication::CscMessageEncryption::none
static const CscMessageEncryption * none()
Definition: CscMessageEncryption.cpp:26
conscience_core::communication::CscMessageEncryption
Definition: CscMessageEncryption.h:8
conscience_core::communication::CscMessageEncryption::AES256CBCWithPasswordEncryption::AES256CBCWithPasswordEncryption
AES256CBCWithPasswordEncryption(const string &password)
Definition: CscMessageEncryption.cpp:34
conscience_core::communication::CscMessageEncryption::~CscMessageEncryption
virtual ~CscMessageEncryption()
Definition: CscMessageEncryption.cpp:9
conscience_core::communication::CscMessageEncryption::AES256CBCWithPasswordEncryption::encrypt
vector< unsigned char > * encrypt(const string &message) const override
Definition: CscMessageEncryption.cpp:38
conscience_core::communication::CscMessageEncryption::NoEncryption
Definition: CscMessageEncryption.h:27
conscience_core::communication::CscMessageEncryption::encrypt
virtual vector< unsigned char > * encrypt(const vector< unsigned char > *data) const =0
CscCommon.h
conscience_core::communication
Definition: CscEntityClient.h:6
conscience_core::communication::CscMessageEncryption::AES256CBCWithPassword
static const CscMessageEncryption * AES256CBCWithPassword(const string &password)
Definition: CscMessageEncryption.cpp:30
conscience_core::communication::CscMessageEncryption::AES256CBCWithPasswordEncryption
Definition: CscMessageEncryption.h:39
conscience_core::communication::CscMessageEncryption::AES256CBCWithPasswordEncryption::decrypt
string decrypt(const vector< unsigned char > *data) const override
Definition: CscMessageEncryption.cpp:48
conscience_core::communication::CscMessageEncryption::decrypt
virtual string decrypt(const vector< unsigned char > *data) const =0