I'm encrypting a file this way:
#include <cryptopp/files.h>
#include <cryptopp/modes.h>
#include <cryptopp/osrng.h>
#include <cryptopp/base64.h>
#include <cryptopp/hex.h>
#include <Windows.h>
#include <iostream>
#include <fstream>
void FileEncrypt(byte key[], byte iv[]
, const std::string& file, const std::string& dest)
{
CTR_Mode< AES >::Encryption cipher;
cipher.SetKeyWithIV(key, strlen((char*)key), iv, strlen((char*)iv));
std::ifstream in{file, std::ios::binary};
std::ofstream out{dest, std::ios::binary};
CryptoPP::FileSource{in, true,
new CryptoPP::StreamTransformationFilter{
cipher, new CryptoPP::FileSink{out}}};
}
INT main(INT argc, PCHAR* argv)
{
std::string file = "...";
std::string dest = "...";
unsigned char* key[] = "p3s6v9y$B&E)H@Mc";
unsigned char* iv[] = "VkXp2s5v8y/B?E(H";
FileEncrypt(key, iv, file, dest);
FileDecrypt(key, iv, file, dest);
}
Then when needed i'm downloading the encrypted file from my repo.
I've been able to decrypt it with:
```c++
void FileDecrypt(byte key[], byte iv[]
, const std::string& file, const std::string& dest)
{
CTR_Mode< AES >::Decryption cipher;
cipher.SetKeyWithIV(key, strlen((char*)key), iv,
strlen((char*)iv));
std::ifstream in{file, std::ios::binary};
std::ofstream out{dest, std::ios::binary};
CryptoPP::FileSource{in, true,
new CryptoPP::StreamTransformationFilter{
cipher, new CryptoPP::FileSink{out}}};
}
```
But this way the decrypted file is saved to disk, how could i decrypt it on
memory without saving to disk?
--
You received this message because you are subscribed to the Google Groups
"Crypto++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/cryptopp-users/7d26e8f2-67ed-4d02-b7dc-ed49ae3f5b3dn%40googlegroups.com.