DataFlex
DataFlex
HMAC Hex String
See more Encryption Examples
Demonstrates how to compute an HMAC using a hexidecimal key and data.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoCrypt
String sKeyHex
String sDataHex
Variant vBd
Handle hoBd
String sMacHex
Move False To iSuccess
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
If (Not(IsComObjectCreated(hoCrypt))) Begin
Send CreateComObject of hoCrypt
End
// Set the MAC algorithm to HMAC
Set ComMacAlgorithm Of hoCrypt To "hmac"
// Our HMAC key will be the bytes represented in the following hex string.
// In other words, the HMAC key is composed of the bytes 0x41, 0xC2, 0x1C, ...
// (It is not composed of the us-ascii string '4', '1', 'C', ...)
Move "41C21CB9D7A02FC5D4FADB9E4755B9DE" To sKeyHex
Get ComSetMacKeyEncoded Of hoCrypt sKeyHex "hex" To iSuccess
// Our desire is to HMAC the bytes represented in the following string:
Move "C22078065B01460001000000010062043BF5B18228C8E02D17BCFE4E00561FA6DEC216EA97195CEB579942E275C21932258E3CD391E507FF4E7FD4C787A8447DA111C54A9C1795E7FF4C0BAA2EDA" To sDataHex
// We'll need to decode the hex to binary:
Get Create (RefClass(cComChilkatBinData)) To hoBd
If (Not(IsComObjectCreated(hoBd))) Begin
Send CreateComObject of hoBd
End
Get ComAppendEncoded Of hoBd sDataHex "hex" To iSuccess
// Do the HMAC-SHA256 hash and return as a hex string:
Set ComEncodingMode Of hoCrypt To "hex"
Set ComHashAlgorithm Of hoCrypt To "sha-256"
Get pvComObject of hoBd to vBd
Get ComMacBdENC Of hoCrypt vBd To sMacHex
Showln sMacHex
End_Procedure