魅影醉

Thứ Sáu, 2 tháng 9, 2016

D41D8CD98F00B204E9800998ECF8427E

Imports System.IO
Imports System.Security
Imports System.Security.Cryptography
Public Class Form1
    Function md5_hash(ByVal file_name As String)
        Return hash_generator("md5", file_name)
    End Function
    Function sha_1(ByVal file_name As String)
        Return hash_generator("sha1", file_name)
    End Function
    Function sha_256(ByVal file_name As String)
        Return hash_generator("sha256", file_name)
    End Function
    Function hash_generator(ByVal hash_type As String, ByVal file_name As String)
        Dim hash
        If hash_type.ToLower = "md5" Then
            hash = MD5.Create
        ElseIf hash_type.ToLower = "sha1" Then
            hash = SHA1.Create()
        ElseIf hash_type.ToLower = "sha256" Then
            hash = SHA256.Create()
        Else
            MsgBox("Type de hash inconnu : " & hash_type, MsgBoxStyle.Critical)
            Return False
        End If
        Dim hashValue() As Byte
        Dim fileStream As FileStream = File.OpenRead(file_name)
        fileStream.Position = 0
        hashValue = hash.ComputeHash(fileStream)
        Dim hash_hex = PrintByteArray(hashValue)
        fileStream.Close()
        Return hash_hex
    End Function
    Public Function PrintByteArray(ByVal array() As Byte)
        Dim hex_value As String = ""
        Dim i As Integer
        For i = 0 To array.Length - 1
            hex_value += array(i).ToString("X2")
        Next i
        Return hex_value
    End Function
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim path As String = OpenFileDialog1.FileName
            TextBox1.Text = path
            TextBox2.Text = md5_hash(path)
            TextBox3.Text = sha_1(path)
            TextBox4.Text = sha_256(path)
        End If
    End Sub
End Class

d41d8cd98f00b204e9800998ecf8427e
D41D8CD98F00B204E9800998ECF8427E

da39a3ee5e6b4b0d3255bfef95601890afd80709
DA39A3EE5E6B4B0D3255BFEF95601890AFD80709

e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855

Không có nhận xét nào:

Đăng nhận xét