C
C
Workaround for the deprecated Crypt2.MacString method
Shows how to replace the deprecated MacString method. (Chilkat is moving away from the use of CkByteData.)Chilkat C Downloads
#include <C_CkCrypt2.h>
#include <C_CkByteData.h>
void ChilkatSample(void)
{
BOOL success;
HCkCrypt2 crypt;
const char *keyHex;
const char *inputStr;
HCkByteData outData;
const char *mac_base64;
success = FALSE;
crypt = CkCrypt2_Create();
CkCrypt2_putCharset(crypt,"utf-8");
// Do HMAC using SHA-256.
CkCrypt2_putMacAlgorithm(crypt,"hmac");
CkCrypt2_putHashAlgorithm(crypt,"sha256");
keyHex = "000102030405060708090A0B0C0D0E0F";
success = CkCrypt2_SetMacKeyEncoded(crypt,keyHex,"hex");
inputStr = "This is a test.";
// ------------------------------------------------------------------------
// The MacString method is deprecated:
outData = CkByteData_Create();
success = CkCrypt2_MacString(crypt,inputStr,outData);
// ------------------------------------------------------------------------
// Workaround.
// (Chilkat is moving away from using CkByteData)
CkCrypt2_putEncodingMode(crypt,"base64");
mac_base64 = CkCrypt2_macStringENC(crypt,inputStr);
printf("%s\n",mac_base64);
CkCrypt2_Dispose(crypt);
CkByteData_Dispose(outData);
}