summaryrefslogtreecommitdiff
path: root/CryptClass/AESCrypt.cpp
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2015-03-20 10:57:03 +0400
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2015-03-20 10:57:03 +0400
commit45f7cc5d27b338dae1d36c211cc5720c82f3de35 (patch)
tree38c356a4e5ba77520e59964f25cde28527e552bd /CryptClass/AESCrypt.cpp
parenteb267792cd70a763bf2dcbfce6e7a09251b3913f (diff)
Change file architecture
Diffstat (limited to 'CryptClass/AESCrypt.cpp')
-rw-r--r--CryptClass/AESCrypt.cpp126
1 files changed, 0 insertions, 126 deletions
diff --git a/CryptClass/AESCrypt.cpp b/CryptClass/AESCrypt.cpp
deleted file mode 100644
index d3ea949..0000000
--- a/CryptClass/AESCrypt.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
- * @file AESCrypt.cpp
- * @brief AESCrypt class definitions
- * @author manzerbredes
- * @date 8 Mars 2015
- *
- * Contain all definitions of AESCrypt class.
- *
- */
-
-
-//----- class -----
-#include "AESCrypt.hpp"
-
-
-
-//Constructor
-AESCrypt::AESCrypt(){
- this->hash=HASHCrypt(); //Init hash attribute
-}
-
-//Destructor
-AESCrypt::~AESCrypt(){
-
-}
-
-
-
-//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;
-
-
- //Use try, catch to be ensure no problems happening
- try{
- //Create encoder to encrypt data
- CryptoPP::ECB_Mode<CryptoPP::AES>::Encryption encoder;
- encoder.SetKey( digest, size );
-
- //Encrypt data with StreamTransformationFilter with NO PADDING
- CryptoPP::StringSource ss1(data, true,
- new CryptoPP::StreamTransformationFilter( encoder,
- new CryptoPP::StringSink( cipher ),
- CryptoPP::StreamTransformationFilter::ZEROS_PADDING
-
- )
- );
- }
- catch( CryptoPP::Exception& e )
- {
- std::cerr << e.what() << std::endl;
- exit(EXIT_FAILURE);
- }
-
- //return encrypted data
- return cipher;
-
-
-}
-
-
-
-//Decrypt string
-std::string AESCrypt::decrypt(std::string key, std::string data){
-
- //Get SHA-256
- byte digest[32];
- hash.getSHA_256(key, digest, (int)sizeof(digest));
-
-
- //Contain data decrypted
- std::string cipher;
-
- //Use try, catch to be ensure no problems happening
- try {
-
- //Create decoder to encrypt data
- CryptoPP::ECB_Mode< CryptoPP::AES >::Decryption decoder;
- decoder.SetKey( digest, sizeof(digest) );
-
- //Decrypt data with StreamTransformationFilter with NO PADDING
- CryptoPP::StringSource ss3( data, true,
- new CryptoPP::StreamTransformationFilter( decoder,
- new CryptoPP::StringSink( cipher ),
- CryptoPP::StreamTransformationFilter::NO_PADDING
- )
- );
- }
- catch( CryptoPP::Exception& e )
- {
- std::cerr << e.what() << std::endl;
- exit(1);
- }
-
- //Remove ZEROS padding
- int i=0;
- for(i=0;i<cipher.length();i++){
- if(cipher[i]=='\0')
- break;
- }
- cipher.erase(i,cipher.length()-1); //Erase ZEROS
-
- //return decrypted data
- return cipher;
-}