Greetings,

I would like to incorporate the equivalent of the following php code
snippet in a c++ app.  I have been experimenting and have learned how
to use a number of crypto++ functions.  I have yet, however, to fully
wrap my mind around this snippet.

I think that I have just figured out that the term "SHA256" is used in
different respects, one as a hash method, and one as a message
encoding method.    Which means that my c++ snippet is useless.

In summary, I want to calculate HMAC with SHA256 and base64-encoding
in c++, just like demonstrated in the php snippet below.  Can you
please point me in the right direction?

Thank you.

Paul



Php code snippet:

    // calculate HMAC with SHA256 and base64-encoding

    $signature = base64_encode(hash_hmac("sha256", $string_to_sign,
$private_key, True));

c++ snippet:

   const char *secretId=msg_to_sign.c_str();
   int msg_len = strlen( secretId );

   // sha256
   CryptoPP::SHA256 sha256hash;
   unsigned char hash[ sha256hash.DIGESTSIZE ];
   memset( hash, 0x00, sha256hash.DIGESTSIZE );
   sha256hash.CalculateDigest(hash, (byte*)secretId, msg_len);  // use
libcrypt0++ library

   // hmac
   unsigned char hmac[ sha256hash.DIGESTSIZE ];
   memset( hmac, 0x00, sha256hash.DIGESTSIZE );
   CryptoPP::HMAC<CryptoPP::SHA256>((byte*)secretId,
msg_len).CalculateDigest(hmac, hash, sha256hash.DIGESTSIZE);

-- 
You received this message because you are subscribed to the "Crypto++ Users" 
Google Group.
To unsubscribe, send an email to [email protected].
More information about Crypto++ and this group is available at 
http://www.cryptopp.com.

Reply via email to