Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
HMAC SHA-1 Matching FIPS ExamplesProvides an example of computing an HMAC-SHA1 digest to duplicate the FIPS examples at http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf Downloads: MS Windows Visual C/C++ Libraries Linux/CentOS C/C++ Libraries MAC OS X C/C++ Libraries Solaris C/C++ Libraries C++ Builder Libraries FreeBSD C++ Libraries HP-UX C++ Libraries BlackBerry QNX C++ Libraries // Needs #include <CkCrypt2.h> CkString strOut; CkCrypt2 crypt; bool success; success = crypt.UnlockComponent("Anything for 30-day trial."); if (success != true) { strOut.append(crypt.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } const char * strToSign; strToSign = "Sample #1"; // 64-byte key const char * key; key = "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f"; // The expected result: // (from Appendix A.1 at http://csrc.nist.gov/publications/fips/fips198/fips-198a.pdf ) const char * expectedResult; expectedResult = "4f4ca3d5d68ba7cc0a1208c9c61e9c5da0403c0a"; // Here is the code to duplicate the results: crypt.put_HashAlgorithm("sha-1"); crypt.put_EncodingMode("hex"); crypt.SetHmacKeyEncoded(key,"hex"); const char * mac; mac = crypt.hmacStringENC(strToSign); strOut.append("Computed: "); strOut.append(mac); strOut.append("\r\n"); strOut.append("Expected: "); strOut.append(expectedResult); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.