CryptoSys PKI Pro Manual

Example: Hmac.Bytes  Hmac.BytesFromBytes 

[VB6 equivalent: HMAC_Bytes]

Dim abData() As Byte
Dim abKey() As Byte
Dim nDataLen As Integer
Dim nKeyLen As Integer
Dim abDigest() As Byte
Dim i As Integer

' Test case 4 from RFC 2202 and RFC 4231
' key =           0x0102030405060708090a0b0c0d0e0f10111213141516171819
' key_len         25
' data =          0xcd repeated 50 times
' data_len =      50

nKeyLen = 25
ReDim abKey(nKeyLen - 1)
For i = 0 To nKeyLen - 1
    abKey(i) = CByte(i + 1)
Next
Console.WriteLine("Key=" & Cnv.ToHex(abKey))
nDataLen = 50
ReDim abData(nDataLen - 1)
For i = 0 To nDataLen - 1
    abData(i) = &HCD
Next

' Compute default HMAC (HMAC-SHA-1)
abDigest = Hmac.BytesFromBytes(abData, abKey, HashAlgorithm.Sha1)
If abDigest.Length = 0 Then Exit Sub ' ERROR
Console.WriteLine("HMAC-SHA-1  =" & Cnv.ToHex(abDigest))
Console.WriteLine("CORRECT     =" & "4c9007f4026250c6bc8414f9bf50c86c2d7235da")

' Compute HMAC-MD5
abDigest = Hmac.BytesFromBytes(abData, abKey, HashAlgorithm.Md5)
If abDigest.Length = 0 Then Exit Sub ' ERROR
Console.WriteLine("HMAC-MD5    =" & Cnv.ToHex(abDigest))
Console.WriteLine("CORRECT     =" & "697eaf0aca3a3aea3a75164746ffaa79")

' Compute HMAC-SHA-256
abDigest = Hmac.BytesFromBytes(abData, abKey, HashAlgorithm.Sha256)
If abDigest.Length = 0 Then Exit Sub ' ERROR
Console.WriteLine("HMAC-SHA-256=" & Cnv.ToHex(abDigest))
Console.WriteLine("CORRECT     =" & "82558a389a443c0ea4cc819899f2083a85f0faa3e578f8077a2e3ff46729665b")

See Also:
Hmac.BytesFromBytes Method

[Contents] [Index]

[PREV: Example: Hash.HexFromHex ...]   [Contents]   [Index]   
   [NEXT: Example: Hmac.HexFromBytes ...]

Copyright © 2004-23 D.I. Management Services Pty Ltd. All rights reserved. Generated 2023-09-18T10:02:53Z.