#include "aes.hpp" #include "crypt.hpp" #include "decrypt.hpp" int main(int argc, char* argv[]) { if(argc != 2) { std::cerr << "No file argument supplied.\n"; return 1; } //*************************************************** char* filename = argv[1]; aes O = crypt(filename); // Read the file to encrypt unsigned char *file; // readFile fait l'aloccation mémoire !!! pensé au free size_t fileLength = O.readFile(&file); printf("%d bytes to be encrypted\n", (int)fileLength); // Encrypt the file unsigned char *encryptedFile; int encryptedFileLength; crypt temp = static_cast(O); // if((encryptedFileLength = (temp).aesEncrypt((const unsigned char*)file, fileLength, &encryptedFile) ) == -1) { // fprintf(stderr, "Encryption failed\n"); // return 1; // } // printf("%d bytes encrypted\n", encryptedFileLength); // // Append .enc to the filename // char *encryptedFilename = (char*)malloc(strlen(filename) + 5); // if(encryptedFilename == NULL) { // fprintf(stderr, "Failed to allocate memory\n"); // return 1; // } // sprintf(encryptedFilename, "%s.enc", filename); // // Write the encrypted file to its own file // writeFile(encryptedFilename, encryptedFile, encryptedFileLength); // std::cerr << "aesKey : "; // for (int i = 0; i < 32; i++) { // std::cerr << std::hex << aesKey[i]; // } // std::cerr << std::endl; // printf("Encrypted message written to \"%s\"\n", encryptedFilename); free(file); // //*************************************************** // fileLength = readFile(encryptedFilename, &file); // // Decrypt the encrypted file // unsigned char *decryptedFile; // int decryptedFileLength; // if((decryptedFileLength = aesDecrypt(aesDecryptCtx, aesKey, aesIV, file, fileLength, &decryptedFile)) == -1) { // fprintf(stderr, "Decryption failed\n"); // return 1; // } // printf("%d bytes decrypted\n", (int)decryptedFileLength); // // Append .dec to the filename // char *decryptedFilename = (char*)malloc(strlen(filename) + 5); // if(decryptedFilename == NULL) { // fprintf(stderr, "Failed to allocate memory\n"); // return 1; // } // sprintf(decryptedFilename, "%s.dec", filename); // // Write the decrypted file to its own file // writeFile(decryptedFilename, decryptedFile, decryptedFileLength); // printf("Decrypted file written to \"%s\"\n", decryptedFilename); // free(decryptedFile); // free(file); return 0; }