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]