Question Title: HMAC-SHA1 using Windows CryptoAPI (C or C++)
$30-100 USD
W trakcie realizacji
Opublikowano prawie 19 lat temu
$30-100 USD
Płatne przy odbiorze
I need to calculate an HMAC-SHA1 using the Windows CryptoAPI. Unfortunately, I'm finding the MSDN documentation vague and have not found a suitable example on the web. Someone with experience using the CryptoAPI (which is not me) should be able to do this in short order.
My program needs to use a key from an outside source which needs to be brought into the encryption. I have it as a UCHAR array but I'm sure it could be formatted into a different format if needed.
The problem I'm having with the documentation is that CryptCreateHash() requires an HCRYPTKEY:
"[in] If the type of hash [algorithm][1] is a keyed hash, such as the HMAC or Message [Authentication][1] Code ([MAC][1]) algorithm, the key for the hash is passed in this parameter"
Ok, great, but how is this HCRYPTKEY constructed?
Completed project will be a C or C++ function that takes a UCHAR [] of the key and a UCHAR [] of the message and returns the HMAC-SHA1 digest also as a UCHAR[]. Project should include the function in question as well as a test program to demonstrate its use.
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows XP SP1 or later.