Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Source] Hash My File
#1
Just a simple file hashing tool.

[Image: NNMHL.png]

Form Codes:
Code:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            With odlgFile

                ' Check to ensure that the selected file exists.  
                ' Dialog box displays a warning otherwise.
                .CheckFileExists = True

                ' Check to ensure that the selected path exists.  Dialog box displays
                ' a warning otherwise.
                .CheckPathExists = True

                ' Return the file referenced by a link? If False, simply returns the selected link
                ' file. If True, returns the file linked to the LNK file.
                .DereferenceLinks = True

                .Multiselect = False

                ' Restore the original directory when done selecting
                ' a file? If False, the current directory changes
                ' to the directory in which you selected the file.
                ' Set this to True to put the current folder back
                ' where it was when you started.
                ' The default is False.
                .RestoreDirectory = True

                ' Show the Help button and Read-Only checkbox?
                .ShowHelp = False
                .ShowReadOnly = False

                ' Start out with the read-only check box checked?
                ' This only make sense if ShowReadOnly is True.
                .ReadOnlyChecked = False

                .Title = "Select a file to open"

                ' Only accept valid Win32 file names?
                .ValidateNames = True

                If .ShowDialog = Windows.Forms.DialogResult.OK Then
                    Try
                        TextBox1.Text = odlgFile.FileName

                        Dim path As String = TextBox1.Text
                        TextBox2.Text = MD5CalcFile(path)
                        TextBox3.Text = getSHA1Hash(path)
                        TextBox4.Text = getSHA256Hash(path)
                        TextBox5.Text = GetCRC32(path)

                    Catch fileException As Exception
                        Throw fileException
                    End Try
                End If

            End With
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
        End Try

    End Sub

End Class

Module Codes:
Code:
Imports System.Security.Cryptography
Imports System.Text
Imports System.IO

Module Module1

    Public Function GetCRC32(ByVal sFileName As String) As String
        Try
            Dim FS As FileStream = New FileStream(sFileName, FileMode.Open, FileAccess.Read, FileShare.Read, 8192)
            Dim CRC32Result As Integer = &HFFFFFFFF
            Dim Buffer(4096) As Byte
            Dim ReadSize As Integer = 4096
            Dim Count As Integer = FS.Read(Buffer, 0, ReadSize)
            Dim CRC32Table(256) As Integer
            Dim DWPolynomial As Integer = &HEDB88320
            Dim DWCRC As Integer
            Dim i As Integer, j As Integer, n As Integer

            'Create CRC32 Table
            For i = 0 To 255
                DWCRC = i
                For j = 8 To 1 Step -1
                    If (DWCRC And 1) Then
                        DWCRC = ((DWCRC And &HFFFFFFFE) \ 2&) And &H7FFFFFFF
                        DWCRC = DWCRC Xor DWPolynomial
                    Else
                        DWCRC = ((DWCRC And &HFFFFFFFE) \ 2&) And &H7FFFFFFF
                    End If
                Next j
                CRC32Table(i) = DWCRC
            Next i

            'Calcualting CRC32 Hash
            Do While (Count > 0)
                For i = 0 To Count - 1
                    n = (CRC32Result And &HFF) Xor Buffer(i)
                    CRC32Result = ((CRC32Result And &HFFFFFF00) \ &H100) And &HFFFFFF
                    CRC32Result = CRC32Result Xor CRC32Table(n)
                Next i
                Count = FS.Read(Buffer, 0, ReadSize)
            Loop
            Return Hex(Not (CRC32Result))
        Catch ex As Exception
            Return ""
        End Try
    End Function

    Public Function MD5CalcFile(ByVal filepath As String) As String
        Try
            Using reader As New System.IO.FileStream(filepath, IO.FileMode.Open, IO.FileAccess.Read)
                Using md5 As New System.Security.Cryptography.MD5CryptoServiceProvider
                    Dim hash() As Byte = md5.ComputeHash(reader)
                    Return ByteArrayToString(hash)
                End Using
            End Using
        Catch ex As Exception
            Return ""
        End Try
    End Function

    Public Function ByteArrayToString(ByVal arrInput() As Byte) As String
        Try
            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
        Catch ex As Exception
            Return ""
        End Try
    End Function

    'Imports System.Security.Cryptography

    Function getSHA1Hash(ByVal strToHash As String) As String
        Try
            Dim sha1Obj As New Security.Cryptography.SHA1CryptoServiceProvider
            Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(strToHash)
            bytesToHash = sha1Obj.ComputeHash(bytesToHash)
            Dim strResult As String = ""
            For Each b As Byte In bytesToHash
                strResult += b.ToString("x2")
            Next
            Return strResult
        Catch ex As Exception
            Return ""
        End Try
    End Function

    'Imports System.Security.Cryptography

    Function getSHA256Hash(ByVal Txt As String) As String
        Try
            Dim sha As New SHA256Managed()
            Dim ae As New ASCIIEncoding()
            Dim Hash() As Byte = sha.ComputeHash(ae.GetBytes(Txt))
            Dim sb As New StringBuilder(Hash.Length * 2)
            Dim ndx As Integer
            For ndx = 0 To Hash.Length - 1
                sb.Append(Right("0" & Hex(Hash(ndx)), 2))
            Next
            Return sb.ToString
        Catch ex As Exception
            Return ""
        End Try
    End Function
End Module
USB Anti-virus? Try USB Drive Defender
[Image: 8bQCusS.jpg]
Reply


Messages In This Thread
[Source] Hash My File - by euverve - 05-12-2011, 09:05 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Source ] Hemp Tycoon App [/Source] VB.net KoBE 8 9,748 03-05-2012, 10:30 PM
Last Post: SomeWhiteGuy?
  [SF Coders] Hash Bruteforcer/Permutation Attack [RELEASE] milopeach 5 1,634 11-26-2011, 06:18 AM
Last Post: Fragma
  Host file Modifier - Source RDCA 3 1,093 10-17-2011, 12:19 PM
Last Post: bradandrews4
  [Source]Sql Database Project [Source] Digital-Punk 0 1,439 10-16-2011, 07:01 AM
Last Post: Digital-Punk
  [Source]Batch to Exe converter[Source] Digital-Punk 6 2,982 10-15-2011, 03:00 AM
Last Post: Digital-Punk

Forum Jump:


Users browsing this thread: 1 Guest(s)