Registriert seit: 10.11.10 Likes: 0 | 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. 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 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)
|