crypto ++ * FileSource класс занимает std::istream&
в конструкторе, так что кажется, что вы сделали.
FileSource (std::istream &in, bool pumpAll,
BufferedTransformation *attachment=NULL)
РЕДАКТИРОВАТЬ
если вы спрашиваете how to use a hash function on istream in cryptopp
, вот пример, взятый из cryptopp wiki , модифицированный мной для использования с istream
:
#include "sha.h"
#include "files.h"
std::string digest;
CryptoPP::SHA256 hash;
CryptoPP::FileSource(in, true, // true here means consume all input at once
new CryptoPP::HashFilter(hash,
new CryptoPP::StringSink(digest)));
std::cout << digest << std::endl;
Это будет читать поток in
доeof, пропустите его через фильтр hash
и, наконец, результат будет в строке digest
.