CryptoSys API examples VB6 to VB.NET

HASH_HexFromBytes

Creates a message digest hash in hexadecimal format from byte (or string) data.

VB6/VBA

Debug.Print "Testing HASH_HexFromBytes ..."
Dim nRet As Long
Dim sDigest As String
Dim abMessage() As Byte
' Set up message to be hashed in unambiguous Byte format
abMessage = StrConv("abc", vbFromUnicode)
' Pre-dimension digest string
sDigest = String(API_MAX_HASH_CHARS, " ")
' Create default hash (SHA1)
nRet = HASH_HexFromBytes(sDigest, Len(sDigest), abMessage(0), 3, 0)
Debug.Print nRet, Left(sDigest, nRet)
' Explicitly use SHA1
nRet = HASH_HexFromBytes(sDigest, Len(sDigest), abMessage(0), 3, API_HASH_SHA1)
Debug.Print nRet, Left(sDigest, nRet)
' Pre-dimension digest string and use MD5
sDigest = String(API_MD5_CHARS, " ")
nRet = HASH_HexFromBytes(sDigest, Len(sDigest), abMessage(0), 3, API_HASH_MD5)
Debug.Print nRet, sDigest
' Pre-dimension digest string and use MD2
sDigest = String(API_MD5_CHARS, " ")
nRet = HASH_HexFromBytes(sDigest, Len(sDigest), abMessage(0), 3, API_HASH_MD2)
Debug.Print nRet, sDigest
' Make output string shorter - only get back that many chars
sDigest = String(16, " ")
nRet = HASH_HexFromBytes(sDigest, Len(sDigest), abMessage(0), 3, API_HASH_SHA1)
Debug.Print nRet, sDigest

Output

Testing HASH_HexFromBytes ...
 40           a9993e364706816aba3e25717850c26c9cd0d89d
 40           a9993e364706816aba3e25717850c26c9cd0d89d
 32           900150983cd24fb0d6963f7d28e17f72
 32           da853b0d3f88d99b30283a69e6ded6bb
 16           a9993e364706816a

VB.NET

Console.WriteLine("Testing HASH_HexFromBytes ...")
''Dim nRet As Integer
Dim sDigest As String
Dim abMessage() As Byte
' Set up message to be hashed in unambiguous Byte format
abMessage = System.Text.Encoding.Default.GetBytes("abc")
' Pre-dimension digest string
''sDigest = String(API_MAX_HASH_CHARS, " ")
' Create default hash (SHA1)
sDigest = Hash.HexFromBytes(abMessage, 0)
Console.WriteLine(sDigest.Length & " " & sDigest)
' Explicitly use SHA1
sDigest = Hash.HexFromBytes(abMessage, HashAlgorithm.Sha1)
Console.WriteLine(sDigest.Length & " " & sDigest)
' Pre-dimension digest string and use MD5
''sDigest = String(API_MD5_CHARS, " ")
sDigest = Hash.HexFromBytes(abMessage, HashAlgorithm.Md5)
Console.WriteLine(sDigest.Length & " " & sDigest)
' Pre-dimension digest string and use MD2
''sDigest = String(API_MD5_CHARS, " ")
sDigest = Hash.HexFromBytes(abMessage, HashAlgorithm.Md2)
Console.WriteLine(sDigest.Length & " " & sDigest)
' Make output string shorter - only get back that many chars
''sDigest = String(16, " ")
' [VB.NET] In .NET we can only truncate the digest string AFTER creating it
sDigest = Hash.HexFromBytes(abMessage, HashAlgorithm.Sha1)
sDigest = sDigest.Substring(0, 16)
Console.WriteLine(sDigest.Length & " " & sDigest)

[Contents]

[HOME]   [NEXT: HASH_HexFromHex...]

Copyright © 2009-20 D.I. Management Services Pty Ltd. All rights reserved.