[Visual Studio 2010]String sha1-hash erstellen

hhunderter

Erfahrenes Mitglied
Hi, ich bin irgendwie gerade zu blöd es hinzubekommen, wie der Titel schon sagt würde ich gerne einen String in sha1 umwnadeln.

hab hier mit schonmal was versucht aber hat nix geklappt...

Code:
        Imports System.Security.Cryptography

        Dim UE As UnicodeEncoding = New UnicodeEncoding()
        Dim hashValue
        Dim message As Byte = UE.GetBytes("")

        Dim hashString As SHA1Managed = New SHA1Managed()
        Dim Hex As String = ""

        hashValue = SHA1.Create.Hash(message)
 

hhunderter

Erfahrenes Mitglied
Hat keiner eine Lösung für mich?
wenn md5 besser wäre vlt dazu ein bsp, denke aber das wir dasselbe Problem sein...
 

rd4eva

Erfahrenes Mitglied
Vorweg sei erwähnt das ich VB schrecklich finde und ich davon eigentlich keine Ahnung habe.
Deswegen gibts von mir nur eine 1:1 Übersetzung von C#.

Visual Basic:
Sub Main()
        Dim input As String = "foobar"
        Dim sha1Hash As String = HashSha1(input)
        Dim md5Hash As String = HashMd5(input)

        Console.WriteLine(input)
        Console.WriteLine(sha1Hash)
        Console.WriteLine(md5Hash)
    End Sub

    Function HashSha1(ByVal input As String) As String
        Dim byteArr() As Byte = System.Text.Encoding.ASCII.GetBytes(input)
        Dim sha1 As System.Security.Cryptography.SHA1 = System.Security.Cryptography.SHA1.Create()
        Dim hash() As Byte = sha1.ComputeHash(byteArr)

        Return ByteArrToHexString(hash)
    End Function

    Function HashMd5(ByVal input As String) As String
        Dim byteArr() As Byte = System.Text.Encoding.ASCII.GetBytes(input)
        Dim md5 As System.Security.Cryptography.MD5 = System.Security.Cryptography.MD5.Create()
        Dim hash() As Byte = md5.ComputeHash(byteArr)

        Return ByteArrToHexString(hash)
    End Function

    Function ByteArrToHexString(ByVal byteArr() As Byte) As String
        Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder()
        For i As Integer = 0 To byteArr.Length - 1
            sb.Append(byteArr(i).ToString("x2"))
        Next
        Return sb.ToString()
    End Function