PowerBuilder
PowerBuilder
HMAC Hex String
See more Encryption Examples
Demonstrates how to compute an HMAC using a hexidecimal key and data.Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Crypt
string ls_KeyHex
string ls_DataHex
oleobject loo_Bd
string ls_MacHex
li_Success = 0
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loo_Crypt = create oleobject
li_rc = loo_Crypt.ConnectToNewObject("Chilkat.Crypt2")
if li_rc < 0 then
destroy loo_Crypt
MessageBox("Error","Connecting to COM object failed")
return
end if
// Set the MAC algorithm to HMAC
loo_Crypt.MacAlgorithm = "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', ...)
ls_KeyHex = "41C21CB9D7A02FC5D4FADB9E4755B9DE"
li_Success = loo_Crypt.SetMacKeyEncoded(ls_KeyHex,"hex")
// Our desire is to HMAC the bytes represented in the following string:
ls_DataHex = "C22078065B01460001000000010062043BF5B18228C8E02D17BCFE4E00561FA6DEC216EA97195CEB579942E275C21932258E3CD391E507FF4E7FD4C787A8447DA111C54A9C1795E7FF4C0BAA2EDA"
// We'll need to decode the hex to binary:
loo_Bd = create oleobject
li_rc = loo_Bd.ConnectToNewObject("Chilkat.BinData")
loo_Bd.AppendEncoded(ls_DataHex,"hex")
// Do the HMAC-SHA256 hash and return as a hex string:
loo_Crypt.EncodingMode = "hex"
loo_Crypt.HashAlgorithm = "sha-256"
ls_MacHex = loo_Crypt.MacBdENC(loo_Bd)
Write-Debug ls_MacHex
destroy loo_Crypt
destroy loo_Bd