Я использую библиотеку Botan для шифрования в Qt. У меня это работает, где я могу зашифровать и расшифровать из одного файла в другой, но я пытаюсь изменить его, чтобы зашифровать из файла в QDomDocument (зашифрованный файл будет просто XML-файл), и расшифровать обратно из QDomDocument в файл.
Это то, что у меня есть для настоящего шифрования (filePlainText / fileEnc - просто пути к txt-файлам).
std::ifstream in(filePlainText.c_str(),std::ios::binary);
std::ofstream out(fileEnc.c_str(),std::ios::binary);
Pipe pipe(get_cipher("AES-256/CBC",key,iv,ENCRYPTION),new DataSink_Stream(out));
pipe.start_msg();
in >> pipe;
pipe.end_msg();
out.flush();
out.close();
in.close();
DataSink_Stream принимает ofsteam или ostream. Поэтому я считаю, что мне нужно использовать ostream при расшифровке из файла в переменную. Но как я могу сохранить содержимое ostream во что-то, что я могу передать в QDomDocument?
Затем для шифрования обратно в файл используйте istream в ofstream, но как мне взять подачу содержимого QDomDocument в istream?