Creates a cryptographic hash digest in byte format from byte data.
VB6/VBA
Debug.Print "Testing HASH_Bytes ..." Dim nRet As Long Dim abDigest() As Byte Dim abMessage() As Byte Dim nMsgLen As Long ' Set up message to be hashed abMessage = StrConv("abc", vbFromUnicode) nMsgLen = UBound(abMessage) + 1 ' Pre-dimension digest array (NB zero-based so subtract one) ReDim abDigest(PKI_MAX_HASH_BYTES - 1) ' Create default hash (SHA1) nRet = HASH_Bytes(abDigest(0), PKI_MAX_HASH_BYTES, abMessage(0), nMsgLen, 0) If nRet > 0 Then ReDim Preserve abDigest(nRet - 1) Debug.Print nRet, cnvHexStrFromBytes(abDigest) ' Repeat for MD5 ReDim abDigest(PKI_MAX_HASH_BYTES - 1) nRet = HASH_Bytes(abDigest(0), PKI_MAX_HASH_BYTES, abMessage(0), nMsgLen, PKI_HASH_MD5) If nRet > 0 Then ReDim Preserve abDigest(nRet - 1) Debug.Print nRet, cnvHexStrFromBytes(abDigest)
Output
Testing HASH_Bytes ... 20 A9993E364706816ABA3E25717850C26C9CD0D89D 16 900150983CD24FB0D6963F7D28E17F72
VB.NET
Console.WriteLine("Testing HASH_Bytes ...")
''Dim nRet As Integer
Dim abDigest() As Byte
Dim abMessage() As Byte
' Set up message to be hashed
abMessage = System.Text.Encoding.Default.GetBytes("abc")
' Create default hash (SHA1)
abDigest = Hash.BytesFromBytes(abMessage, HashAlgorithm.Sha1)
Console.WriteLine(abMessage.Length & " " & Cnv.ToHex(abDigest))
' Repeat for MD5
abDigest = Hash.BytesFromBytes(abMessage, HashAlgorithm.Md5)
Console.WriteLine(abMessage.Length & " " & Cnv.ToHex(abDigest))
[Contents]