我正在使用 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 中?