Username:   Password:  

Get MD5 hash of a file in VB.NET

Imports System.Security.Cryptography
Imports System.Text
Imports System.IO
 
Public Function MD5FileHash(ByVal sFile As String) As String
    Dim MD5 As New MD5CryptoServiceProvider
    Dim Hash As Byte()
    Dim Result As String = ""
    Dim Tmp As String = ""
 
    Dim FN As New FileStream(sFile, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)
    MD5.ComputeHash(FN)
    FN.Close()
 
    Hash = MD5.Hash
    For i As Integer = 0 To Hash.Length - 1
        Tmp = Hex(Hash(i))
        If Len(Tmp) = 1 Then Tmp = "0" & Tmp
        Result += Tmp
    Next
    Return Result
End Function
 

Claculates the MD5 hash of a file.

Tags

VisualBasic.NET MD5 hashing

Shorten too long file path in VB

''' <summary>
''' Diese Funktion kürzt einen Pfad ab so das aus
''' "C:\Windows\System32\Test\Test.dll" dann "C:\Windows\...\Test.dll" wird
''' </summary>
''' <param name="Path">Der Pfad der gekürzt zurückgegeben werden soll</param>
''' <param name="Length">Die gewünschte Länge die nicht überschritten werden darf</param>
''' <param name="TextFont">Die Schriftart die angewendet wird</param>
Public Function PathShorten(ByVal Path As String, ByVal Length As Integer, ByVal TextFont As Font) As String
    Dim PathParts() As String = Split(Path, "\")
    Dim PathBuild As New System.Text.StringBuilder(Path.Length)
    Dim LastPart As String = PathParts(PathParts.Length - 1)
    Dim PrevPath As String = ""
 
    'Erst prüfen ob der komplette String evtl. bereits kürzer als die Maximallänge ist
    If TextRenderer.MeasureText(Path, TextFont).Width < Length Then
        Return Path
    End If
 
    For i As Integer = 0 To PathParts.Length - 1
        PathBuild.Append(PathParts(i) & "\")
        If TextRenderer.MeasureText(PathBuild.ToString & "...\" & LastPart, TextFont).Width >= Length Then
            Return PrevPath
        Else
            PrevPath = PathBuild.ToString & "...\" & LastPart
        End If
    Next
    Return PrevPath
End Function
 

Shortens a long path to a way shorter path. For example: "C:\Windows\System32\Test\Test.dll" to "C:\Windows\...\Test.dll"

Tags

path file VB.NET shorten