Sample code for 30+ languages & platforms
DataFlex

Demonstrates HMAC SHA256

See more Encryption Examples

Demonstrates HMAC-SHA256. Also demonstrates HMAC-SHA1 and HMAC-MD5.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoCrypt
    Boolean iSuccess
    String sSData
    String sTemp1

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    // Demonstrates how to reproduce the following results found at
    // https://en.wikipedia.org/wiki/Hash-based_message_authentication_code

    // HMAC_SHA256("key", "The quick brown fox jumps over the lazy dog") = 0xf7bc83f430538424b13298e6aa6fb143ef4d59a14946175997479dbc2d1a3cd8
    // HMAC_MD5("key", "The quick brown fox jumps over the lazy dog")    = 0x80070713463e7749b90c2dc24911e275
    // HMAC_SHA1("key", "The quick brown fox jumps over the lazy dog")   = 0xde7c9b85b8b78aa6bc8a7a36f70a90701c9db4d9

    Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
    If (Not(IsComObjectCreated(hoCrypt))) Begin
        Send CreateComObject of hoCrypt
    End

    Set ComMacAlgorithm Of hoCrypt To "hmac"
    Set ComEncodingMode Of hoCrypt To "hex"
    Get ComSetMacKeyString Of hoCrypt "key" To iSuccess
    Move "The quick brown fox jumps over the lazy dog" To sSData

    Set ComHashAlgorithm Of hoCrypt To "SHA-256"
    Get ComMacStringENC Of hoCrypt sSData To sTemp1
    Showln "HMAC_SHA256: " sTemp1

    Set ComHashAlgorithm Of hoCrypt To "MD5"
    Get ComMacStringENC Of hoCrypt sSData To sTemp1
    Showln "HMAC_MD5: " sTemp1

    Set ComHashAlgorithm Of hoCrypt To "SHA-1"
    Get ComMacStringENC Of hoCrypt sSData To sTemp1
    Showln "HMAC_SHA1: " sTemp1

    // The output is the same (ignore case)
    // HMAC_SHA256: F7BC83F430538424B13298E6AA6FB143EF4D59A14946175997479DBC2D1A3CD8
    // HMAC_MD5: 80070713463E7749B90C2DC24911E275
    // HMAC_SHA1: DE7C9B85B8B78AA6BC8A7A36F70A90701C9DB4D9


End_Procedure