Add support to save without key after read file with the key.
This commit is contained in:
parent
e261782473
commit
5783bf5e10
3 changed files with 48 additions and 11 deletions
|
@ -16,7 +16,7 @@ FileManIOFile::FileManIOFile(std::string filename){
|
|||
this->filename=filename;
|
||||
this->readable=false;
|
||||
this->data="";
|
||||
this->key[0]=NULL;
|
||||
this->key;
|
||||
}
|
||||
FileManIOFile::~FileManIOFile(){
|
||||
}
|
||||
|
@ -68,18 +68,18 @@ void FileManIOFile::read(std::string key){
|
|||
|
||||
}
|
||||
|
||||
void FileManIOFile::write(std::string key, std::string data){
|
||||
|
||||
|
||||
|
||||
void FileManIOFile::write(std::string key,std::string data){
|
||||
|
||||
AESCrypt aes;
|
||||
HASHCrypt hash;
|
||||
std::string dataEncrypted;
|
||||
|
||||
if(this->key!=NULL){
|
||||
dataEncrypted=aes.encrypt(key, data);
|
||||
}
|
||||
else{
|
||||
dataEncrypted=aes.encrypt(this->key, data);
|
||||
}
|
||||
dataEncrypted=aes.encrypt(key, data);
|
||||
|
||||
|
||||
byte digest[16];
|
||||
hash.getMD5_128(data, digest, sizeof(digest));
|
||||
|
||||
|
@ -100,6 +100,34 @@ void FileManIOFile::write(std::string key, std::string data){
|
|||
|
||||
}
|
||||
|
||||
void FileManIOFile::write(std::string data){
|
||||
|
||||
AESCrypt aes;
|
||||
HASHCrypt hash;
|
||||
std::string dataEncrypted;
|
||||
|
||||
dataEncrypted=aes.encrypt(this->key, data);
|
||||
|
||||
|
||||
byte digest[16];
|
||||
hash.getMD5_128(data, digest, sizeof(digest));
|
||||
|
||||
|
||||
std::ofstream file;
|
||||
file.open(this->filename, std::ios::out | std::ios::binary);
|
||||
|
||||
file.write((char *) digest,sizeof(digest));
|
||||
|
||||
|
||||
file.write(dataEncrypted.c_str(), dataEncrypted.size());
|
||||
|
||||
|
||||
|
||||
file.close();
|
||||
|
||||
this->data=data;
|
||||
|
||||
}
|
||||
|
||||
std::string FileManIOFile::getData(){
|
||||
return this->data;
|
||||
|
|
|
@ -58,7 +58,9 @@ class FileManIOFile {
|
|||
* Save data to "filename" attribute.
|
||||
*
|
||||
*/
|
||||
void write(std::string data,std::string key=NULL);
|
||||
void write(std::string key, std::string data);
|
||||
void write(std::string data);
|
||||
|
||||
|
||||
/**
|
||||
* @brief True if file fully decrypted.
|
||||
|
|
11
main.cpp
11
main.cpp
|
@ -38,9 +38,16 @@ int main(int argc, char *argv[]){
|
|||
AESCrypt aes;
|
||||
|
||||
|
||||
FileManIOFile fichier = FileManIOFile("Doxygen/bob2.bin");
|
||||
FileManIOFile fichier = FileManIOFile("Doxygen/bob.bin");
|
||||
|
||||
fichier.write(key,chaine);
|
||||
fichier.write(key, chaine);
|
||||
|
||||
fichier.read(key);
|
||||
|
||||
if(fichier.isReadable())
|
||||
std::cout << fichier.getData();
|
||||
|
||||
fichier.write(chaine+" YES");
|
||||
|
||||
fichier.read(key);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue