This class implements the IHasher interface that you can find here.
''' ''' MD5 Hash class from Satal Keto's library ''' https://samjenkins.com ''' Version 1.0.0.1 ''' Imports System.IO Imports System.Security.Cryptography Namespace Security.Hash Public Class MD5Hasher Implements IHasher Public Function hashOfFile(ByVal fileToHash As String) As String Implements IHasher.hashOfFile Dim rdr As FileStream Dim md5 As New MD5CryptoServiceProvider Dim bytes() As Byte Dim rtn As String = "" If File.Exists(fileToHash) Then rdr = New FileStream(fileToHash, FileMode.Open, FileAccess.Read) bytes = md5.ComputeHash(rdr) rtn = ByteArrayToString(bytes) End If Return rtn End Function Public Function hashOfString(ByVal stringToHash As String) As String Implements IHasher.hashOfString Dim md5Obj As New MD5CryptoServiceProvider Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(stringToHash) bytesToHash = md5Obj.ComputeHash(bytesToHash) Dim strResult As String = "" For Each b As Byte In bytesToHash strResult += b.ToString("x2") Next Return strResult End Function Private Function ByteArrayToString(ByVal arrInput() As Byte) As String Dim sb As New System.Text.StringBuilder(arrInput.Length * 2) For i As Integer = 0 To arrInput.Length - 1 sb.Append(arrInput(i).ToString("X2")) Next Return sb.ToString().ToLower End Function End Class End Namespace
Calculate MD5 hash of string or file
Pingback:Interface for Hashing classes | Sam Jenkins' BlogSam Jenkins' Blog