summaryrefslogtreecommitdiff
path: root/CryptClass/AESCrypt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'CryptClass/AESCrypt.cpp')
-rw-r--r--CryptClass/AESCrypt.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/CryptClass/AESCrypt.cpp b/CryptClass/AESCrypt.cpp
index 30e501a..4f7309e 100644
--- a/CryptClass/AESCrypt.cpp
+++ b/CryptClass/AESCrypt.cpp
@@ -27,13 +27,24 @@ AESCrypt::~AESCrypt(){
-//Encrypt string
+//Encrypt string with string key
std::string AESCrypt::encrypt(std::string key, std::string data){
//Generate SHA-256
byte digest[32];
hash.getSHA_256(key, digest, (int)sizeof(digest));
+ return encryptRoutine(data, digest, sizeof(digest));
+
+}
+
+//Encrypt string with byte* key
+std::string AESCrypt::encrypt(byte* key, std::string data){
+ return encryptRoutine(data, key, 32);
+}
+
+//The encryptRoutine
+std::string AESCrypt::encryptRoutine(std::string data, byte* digest, int size){
//Contain data encrypted
std::string cipher;
@@ -42,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,
@@ -62,10 +73,12 @@ 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){