summaryrefslogtreecommitdiff
path: root/IOFileClass/FileManIOFile.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 /IOFileClass/FileManIOFile.cpp
parenteb267792cd70a763bf2dcbfce6e7a09251b3913f (diff)
Change file architecture
Diffstat (limited to 'IOFileClass/FileManIOFile.cpp')
-rw-r--r--IOFileClass/FileManIOFile.cpp147
1 files changed, 0 insertions, 147 deletions
diff --git a/IOFileClass/FileManIOFile.cpp b/IOFileClass/FileManIOFile.cpp
deleted file mode 100644
index ea49201..0000000
--- a/IOFileClass/FileManIOFile.cpp
+++ /dev/null
@@ -1,147 +0,0 @@
-/**
- * @file FileManIOFile.cpp
- * @brief FileManIOFile class definitions
- * @author manzerbredes
- * @date 9 Mars 2015
- *
- * Contain all definitions of FileManIOFile class.
- *
- */
-
-
-#include "FileManIOFile.hpp"
-
-//Constructor with filename
-FileManIOFile::FileManIOFile(std::string filename){
- this->filename=filename;
- this->readable=false;
- this->data="";
- this->key;
-}
-
-//Destructor
-FileManIOFile::~FileManIOFile(){
-}
-
-
-
-//Read the filename with a key
-void FileManIOFile::read(std::string key){
-
- //create file object
- std::ifstream file;
-
- //Clear data
- this->data.clear();
-
- //Open file
- file.open (this->filename, std::ios::in | std::ios::binary);
-
- //Get MD5 of decrypted data
- byte fileMD5[16];
- file.read((char*) fileMD5, sizeof(fileMD5));
-
- //Read all data
- char car;
- file.read(&car, sizeof(car));
-
- while(file){
- this->data+=car,
- file.read(&car, sizeof(car));
-
- }
-
- //Decrypt data
- this->data=this->aes.decrypt(key, this->data);
-
- //Get current MD5 of decrypted data
- byte currentMD5[16];
- this->hash.getMD5_128(this->data, currentMD5, sizeof(currentMD5));
-
- //Compare the 2 MD5 to find if file is fully decrypted
- if(this->hash.compareDigest(fileMD5, currentMD5, sizeof(currentMD5))){
- //Set readable
- this->readable=true;
- //Save the key
- this->hash.getSHA_256(key, this->key, 32);
- }
- else{
- this->readable=false;
- }
-
- //Close file
- file.close();
-
-
-}
-
-
-
-//Write file with key
-void FileManIOFile::write(std::string key,std::string data){
-
- std::string dataEncrypted;
-
- dataEncrypted=this->aes.encrypt(key, data);
-
- this->writeRoutine(data, dataEncrypted);
-
-
-}
-
-//Write file without key
-void FileManIOFile::write(std::string data){
- if(not(this->readable)){
- std::cout << "Can't write data without key (read it before) !" << std::endl;
- std::exit(EXIT_FAILURE);
- }
-
- std::string dataEncrypted;
-
- dataEncrypted=this->aes.encrypt(this->key, data);
- this->writeRoutine(data, dataEncrypted);
-
-
-}
-
-
-
-//Get readable attribute
-bool FileManIOFile::isReadable(){
- return this->readable;
-}
-
-
-
-//Write file
-void FileManIOFile::writeRoutine(std::string data, std::string dataEncrypted){
-
- //Save MD5 of decrypted data
- byte digest[16];
- this->hash.getMD5_128(data, digest, sizeof(digest));
-
- //Create file instance
- std::ofstream file;
-
- //Open it
- file.open(this->filename, std::ios::out | std::ios::binary);
-
- //Write MD5 on 16 first bytes
- file.write((char *) digest,sizeof(digest));
-
- //Write data
- file.write(dataEncrypted.c_str(), dataEncrypted.size());
-
- //Close file
- file.close();
-
- //Save data to attribute
- this->data=data;
-}
-
-
-
-//Get data
-std::string FileManIOFile::getData(){
- return this->data;
-}