Sample code for 30+ languages & platforms
PureBasic

HMAC MD5 to Match RFC 2022 Test Vectors

See more Encryption Examples

Demonstrates using Chilkat in _LANGUAGE_ to computer HMAC MD5 message authentication codes to match the test vectors given by RFC 2202.

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkCrypt2.pb"

Procedure ChilkatExample()

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

    crypt.i = CkCrypt2::ckCreate()
    If crypt.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; The output will be Hex, so set the EncodingMode:
    CkCrypt2::setCkEncodingMode(crypt, "hex")

    ; Set the hash algorithm:
    ; Choices are: md5, sha-1, sha256, sha384, sha512, md2, haval
    CkCrypt2::setCkHashAlgorithm(crypt, "md5")
    CkCrypt2::setCkMacAlgorithm(crypt, "hmac")

    mac.s

    ; Set the HMAC key:
    CkCrypt2::ckSetMacKeyEncoded(crypt,"0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b","hex")
    mac = CkCrypt2::ckMacStringENC(crypt,"Hi There")
    Debug mac

    CkCrypt2::ckSetMacKeyEncoded(crypt,"Jefe","ansi")
    mac = CkCrypt2::ckMacStringENC(crypt,"what do ya want for nothing?")
    Debug mac


    CkCrypt2::ckDispose(crypt)


    ProcedureReturn
EndProcedure