Okay. 

However, when I looked at the information provided in this link: 
https://www.cryptopp.com/wiki/HashVerificationFilter#String_and_File_Sources, 
it appears that the method suggested to avoid memory usage doesn't actually 
achieve that goal, as the line FileSource fs("zero.dat", true); in the 
verification step is performing as intended.

Unfortunately, I am unable to use FileSource fs("zero.dat", false, new 
HashVerificationFilter(sha256, new StringSink(digest))); or FileSource 
fs("zero.dat", true... either, because it's unclear how to associate the 
digest with the input file.
On Saturday, May 20, 2023 at 6:48:40 PM UTC-4 Jeffrey Walton wrote:

> On Sat, May 20, 2023 at 4:45 PM Jeffrey Walton <nolo...@gmail.com> wrote:
> >
> > On Sat, May 20, 2023 at 3:00 PM Tom <thoma...@gmail.com> wrote:
> > >
> > > calling `FileSource fs("zero.dat", true);` seems to allocate the 
> memory.
> >
> > Try the overload which takes a std::istream reference:
> > https://www.cryptopp.com/wiki/FileSource
>
> I took another look... The issue is you passed 'true' for 'pumpAll'.
> That reads the entire file, and puts it in an output buffer for the
> next filter.
>
> Use 'false' instead, and then call 'PumpAll()' manually. Something
> like the example. Something like this should suffice:
>
> FileSource fs("zero.dat", false, new Filter(..., new Sink(...)));
> fs.PumpAll();
>
> It should pump in 4k blocks.
>
> Jeff
>

-- 
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 cryptopp-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/cryptopp-users/7af8a6f5-5cc2-47d2-b35b-21c131bbf774n%40googlegroups.com.

Reply via email to