Как прочитать изображение в строку для шифрования Crypto ++

Мне нужно прочитать файл как двоичные данные, а затем иметь возможность зашифровать и расшифровать его. Я тестирую скорости различных алгоритмов в Crypto ++. До сих пор я использовал getline для чтения текстовых файлов.

int main( int argc, char* argv[] ) {
string plaintext, ciphertext, encoded, recovered, sample_files_path, data_file, line_contents, file_size; 

ifstream initial_file_contents ( "1MB.txt");
if (initial_file_contents.is_open()) {
    plaintext = "";
    while ( getline( initial_file_contents, line_contents ) ) {
        plaintext = plaintext + line_contents;
        plaintext.push_back('\n');
        initial_file_contents.close();
    }
} else {
    cout << "Unable to open file" << endl;
}

/*BLOWFISH ALGORITHM*/
AutoSeededRandomPool blowfish_prng; // This class seeds itself using an operating system provided RNG
SecByteBlock blowfish_key(Blowfish::DEFAULT_KEYLENGTH); // Generate a random key
blowfish_prng.GenerateBlock(blowfish_key, blowfish_key.size()); // Generate a random initialization vector
byte blowfish_iv[Blowfish::BLOCKSIZE];
blowfish_prng.GenerateBlock(blowfish_iv, sizeof(blowfish_iv));

// Encrypts the plaintext
e.SetKeyWithIV( blowfish_key, blowfish_key.size(), blowfish_iv, sizeof(blowfish_iv) );
ciphertext.clear();
StringSource ss1(plaintext, true, new AuthenticatedEncryptionFilter( e, new StringSink( ciphertext ) )  ); 

// Decrypts the test
EAX< Blowfish >::Decryption d;
d.SetKeyWithIV( blowfish_key, blowfish_key.size(), blowfish_iv, sizeof(blowfish_iv) );
recovered.clear();
StringSource ss2(ciphertext, true, new AuthenticatedDecryptionFilter( d, new StringSink( recovered ), AuthenticatedDecryptionFilter::THROW_EXCEPTION ) ); 
return 0;
}

Я видел другие статьи, такие какЧтение файла изображения в C / C ++ а такжеСчитать двоичный файл (jpg) в строку, используя c ++ , но я не уверен, как это сделать. я чувствуюhttp://www.cplusplus.com/reference/istream/istream/read/ может быть хорошим примером, но я все еще не уверен, как это реализовать. Может кто-нибудь показать мне, как читать в файле, таком как файл .jpg, и сохранить его в виде строки, чтобы я мог зашифровать его?

Если бы у меня был файл с именем image.jpg, как бы я прочитал его, чтобы он был в строковой переменной, такой как обычный текст?

Ответы на вопрос(1)

Ваш ответ на вопрос