diff options
Diffstat (limited to 'CryptClass')
| -rw-r--r-- | CryptClass/AESCrypt.cpp | 24 | ||||
| -rw-r--r-- | CryptClass/AESCrypt.hpp | 5 |
2 files changed, 28 insertions, 1 deletions
diff --git a/CryptClass/AESCrypt.cpp b/CryptClass/AESCrypt.cpp index 0222e9a..0add260 100644 --- a/CryptClass/AESCrypt.cpp +++ b/CryptClass/AESCrypt.cpp @@ -33,6 +33,18 @@ std::string AESCrypt::encrypt(std::string key, std::string data){ byte digest[32]; hash.getSHA_256(key, digest, (int)sizeof(digest)); + return encryptRoutine(data, digest, sizeof(digest)); + +} +//Encrypt string +std::string AESCrypt::encrypt(byte* key, std::string data){ + + return encryptRoutine(data, key, 32); + +} + + +std::string AESCrypt::encryptRoutine(std::string data, byte* digest, int size){ //Contain data encrypted std::string cipher; @@ -41,7 +53,7 @@ std::string AESCrypt::encrypt(std::string key, std::string data){ try{ //Create encoder to encrypt data CryptoPP::ECB_Mode<CryptoPP::AES>::Encryption encoder; - encoder.SetKey( digest, sizeof(digest) ); + encoder.SetKey( digest, size ); //Encrypt data with StreamTransformationFilter with NO PADDING CryptoPP::StringSource ss1(data, true, @@ -61,10 +73,20 @@ std::string AESCrypt::encrypt(std::string key, std::string data){ //return encrypted data return cipher; + } + + + + + + + + + //Decrypt string std::string AESCrypt::decrypt(std::string key, std::string data){ diff --git a/CryptClass/AESCrypt.hpp b/CryptClass/AESCrypt.hpp index 455eed0..58642c1 100644 --- a/CryptClass/AESCrypt.hpp +++ b/CryptClass/AESCrypt.hpp @@ -67,6 +67,11 @@ class AESCrypt : public AbstractSKA { */ virtual std::string decrypt(std::string key, std::string data); + std::string encrypt(byte* key, std::string data); + + std::string encryptRoutine(std::string data, byte* digest, int size); + + private: HASHCrypt hash; ///< hash instance to generate SHA-256 hash code. |
