I'm not sure how I missed that originally, but it worked perfectly, thank
you.  I have one other question, this time regarding a program crash I'm
experiencing. The following code is taken directly from test.cpp in 5.1
(StringSink in place of FileSink, but both product the same error):

char filename[]="C:\\netstat.cab";
MD5 md5;
HashFilter md5Filter(md5, new HexEncoder);
SHA sha;
HashFilter shaFilter(sha, new HexEncoder);
ChannelSwitch *channelSwitch;
FileSource file(filename, false, channelSwitch = new ChannelSwitch);
channelSwitch->AddDefaultRoute(md5Filter);
channelSwitch->AddDefaultRoute(shaFilter);
file.PumpAll();
std::string test;
StringSink sink(test);
cout << "\nMD5: ";
md5Filter.TransferTo(sink);
cout << "\nSHA-1: ";
shaFilter.TransferTo(sink);
*-----------*
this code functions properly, outputting both hash values for the file...the
problem occurs when i truncate the code to handling a single hash:

char filename[]="C:\\netstat.cab";
MD5 md5;
HashFilter md5Filter(md5, new HexEncoder);
ChannelSwitch *channelSwitch;
FileSource file(filename, false, channelSwitch = new ChannelSwitch);
channelSwitch->AddDefaultRoute(md5Filter);
file.PumpAll();
std::string test;
StringSink sink(test);
cout << "\nMD5: ";
md5Filter.TransferTo(sink);
*-----------*
This code throws a System.NullReference exception...as you can see, it is
the same code, merely using a single hash, even though this hash calculates
correctly when two or more are calculated at once.


----- Original Message ----- 
From: "Pat Deegan" <[EMAIL PROTECTED]>
To: "CryptoPP" <[EMAIL PROTECTED]>
Sent: Thursday, July 17, 2003 3:57 PM
Subject: Re: Retrieving Hashes for GUI


Hello,

On Thu, 2003-07-17 at 13:27, [EMAIL PROTECTED] wrote:
> For the purposes of my project, I need some simple way to retreive the
> hash internally.  ie if I have the file name, I want to be able to
> plug it into the cryptlib, and have the hash (or equivalent byte
> values) return to my interface functions, not outputted directly.

Can't you just replace your FileSink
(http://cryptopp.sourceforge.net/docs/ref5/class_file_sink.html) with a
StringSink (which is just a
typedef StringSinkTemplate<std::string> StringSink,
http://cryptopp.sourceforge.net/docs/ref5/class_string_sink_template.html)
and use the contents of the std::string in your code?

Regards,
-- 
Pat Deegan,
http://www.psychogenic.com/
PGP: http://www.keyserver.net 0x03F86A50

Reply via email to