Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Demonstrates the MacBytesENC MethodDemonstrates the MacBytesENC method to do HMAC-SHA256, HMAC-SHA1, and HMAC-MD5.
Use ChilkatAx-win32.pkg Procedure Test Handle hoCrypt Boolean iSuccess String sSData Variant hoDataToHmac Handle hoBinData String sTemp1 // This example assumes Chilkat Crypt2 to have been previously unlocked. // See Unlock Crypt2 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 // We're doing this in a convoluted, roundabout fashion to show syntax // and data types for handling binary data. // The straightforward way of doing an HMAC on a string is // shown here: HMAC String Get Create (RefClass(cComChilkatBinData)) To hoBinData If (Not(IsComObjectCreated(hoBinData))) Begin Send CreateComObject of hoBinData End Get ComAppendString Of hoBinData sSData "utf-8" To iSuccess Get ComGetBinary Of hoBinData To hoDataToHmac Set ComHashAlgorithm Of hoCrypt To "SHA-256" Get ComMacBytesENC Of hoCrypt vDataToHmac To sTemp1 Showln "HMAC_SHA256: " sTemp1 Set ComHashAlgorithm Of hoCrypt To "MD5" Get ComMacBytesENC Of hoCrypt vDataToHmac To sTemp1 Showln "HMAC_MD5: " sTemp1 Set ComHashAlgorithm Of hoCrypt To "SHA-1" Get ComMacBytesENC Of hoCrypt vDataToHmac To sTemp1 Showln "HMAC_SHA1: " sTemp1 // The output is the same (ignore case) // HMAC_SHA256: F7BC83F430538424B13298E6AA6FB143EF4D59A14946175997479DBC2D1A3CD8 // HMAC_MD5: 80070713463E7749B90C2DC24911E275 // HMAC_SHA1: DE7C9B85B8B78AA6BC8A7A36F70A90701C9DB4D9 End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.