Einzelnen Beitrag anzeigen
Alt 30.11.10, 16:17   #51 (permalink)
DMRMcK
 
Registriert seit: 10.11.10
DMRMcK Leistung: Z3
Likes: 0
Standard VB

Und hier noch ne Lösung in VB.

Habe allerdings die beiden Verschlüsselungen in zwei separate Konsolenanwendungen geschrieben.
Groß- oder Kleinschreibung wird hierbei nicht beachtet. Nicht-alphabetische Zeichen (alles, was nicht im Array ist) führen noch zum Absturz - mal gucken, wann/ob ich das noch ändere.

Caesar VB   
Code:
Module Module1

    Dim Alpha() As String = New String() {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", _
                                        "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
    Dim key As Integer
    Dim textalt As String = ""
    Dim textneu As String = ""
    Dim position As Integer
    Dim verschluesseln As Boolean

    Sub Main()
        Console.WriteLine("Text eingeben:")
        textalt = (Console.ReadLine).ToLower
        Console.WriteLine("Schlüssel eingeben:")
        key = Console.ReadLine
        Console.WriteLine("Richtung? (0 = entschlüsseln // 1 = verschlüsseln)")
        If Console.ReadLine() = 1 Then
            verschluesseln = True
        End If

        If verschluesseln Then
            For i As Integer = 0 To textalt.Length - 1
                position = Array.IndexOf(Alpha, textalt.Substring(i, 1))
                position += key
                If position > 25 Then
                    position -= 26
                End If
                textneu &= Alpha(position)
            Next
        Else
            For i As Integer = 0 To textalt.Length - 1
                position = Array.IndexOf(Alpha, textalt.Substring(i, 1))
                position -= key
                If position < 0 Then
                    position += 26
                End If
                textneu &= Alpha(position)
            Next
        End If

        Console.WriteLine(textneu)
        Console.ReadLine()
    End Sub
End Module


Vigenère VB   
Code:
Module Module1

    Dim Alpha() As String = New String() {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", _
                                        "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"}
    Dim key As String
    Dim textalt As String = ""
    Dim textneu As String = ""
    Dim zeichen As String
    Dim position As Integer
    Dim verschluesseln As Boolean

    Sub Main()
        Console.WriteLine("Text eingeben:")
        textalt = (Console.ReadLine).ToLower
        Console.WriteLine("Schlüssel eingeben:")
        key = Console.ReadLine
        Console.WriteLine("Richtung? (0 = entschlüsseln // 1 = verschlüsseln)")
        If Console.ReadLine() = 1 Then
            verschluesseln = True
        End If

        If key.Length < textalt.Length Then
            Do While key.Length < textalt.Length
                key &= key
            Loop
        End If

        If verschluesseln Then
            For i As Integer = 0 To textalt.Length - 1
                position = Array.IndexOf(Alpha, textalt.Substring(i, 1))
                position += Array.IndexOf(Alpha, key.Substring(i, 1))
                If position > 25 Then
                    position -= 26
                End If
                textneu &= Alpha(position)
            Next
        Else
            For i As Integer = 0 To textalt.Length - 1
                position = Array.IndexOf(Alpha, textalt.Substring(i, 1))
                position -= Array.IndexOf(Alpha, key.Substring(i, 1))
                If position < 0 Then
                    position += 26
                End If
                textneu &= Alpha(position)
            Next
        End If

        Console.WriteLine(textneu)
        Console.ReadLine()
    End Sub
End Module

Geändert von DMRMcK (30.11.10 um 16:25 Uhr)
DMRMcK ist offline   Mit Zitat antworten
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61