MD5_BytesHexHash creates an MD5 message digest in hexadecimal format
from a message in Byte array format.
Public Declare Function MD5_BytesHexHash Lib "diCryptoSys.dll"
(ByVal strDigest As String, ByRef abData As Byte, ByVal nDataLen As Long) As Long
nRet = MD5_BytesHexHash(strDigest, abData(0), nDataLen)
String to receive message digest.Byte array containing the message to be hashed.Long containing number of bytes in the array.
long _stdcall MD5_BytesHexHash(char *strDigest, const unsigned char *bytes, long len);
Long: If successful, the return value is 0;
otherwise it returns a non-zero error code.
Md5.HexHash Method (Byte[])
md5.HexHexHash
Public Function HexHexHash(ByVal strHexData As String) As String
See md5.HexHexHash.
strDigest must be at least 32 (API_MAX_MD5_CHARS) characters long (33 in a C program). Note the (0) in abData(0).
Dim nRet As Long
Dim abData(2) As Byte ' Create 3-byte array (NB zero-based)
' Alternative way of making sure string is 32 chars long
Dim strDigest As String * 32
' Setup byte array with "abc"
abData(0) = Asc("a")
abData(1) = Asc("b")
abData(2) = Asc("c")
nRet = MD5_BytesHexHash(strDigest, abData(0), 3)
Debug.Print nRet; strDigest
This should result in output as follows:
0 900150983cd24fb0d6963f7d28e17f72
MD5_StringHexHash
MD5_FileHexHash