Vigenère Veschlüsselung per VBA
27.03.2005 20:37:06
Reinhard
angeregt durch https://www.herber.de/forum/messages/590920.html
habe ich das Verschlüsseln mit vba umgesetzt. Klappt auch wunderbar *freu*, nur, wenn ein Leerzeichen im zu verschlüsselnden Text auftaucht klappt es ab der Stelle nicht mehr :-(
Habe jetzt da die ganze Zeit drangesessen und blicke das nicht mehr.
Kann jemand den Fehler orten der bei einem Leerzzeichen auftritt?
Vielleicht müsste man sowieso grundsätzlich das Lerzeichen mit in abc einbauen, damit im codierten Text nicht mehr die originale Wortlänge erkennbar ist.
Danke
Gruß
Reinhard
Option Explicit
Option Base 1
Function Verschlüsseln(ByVal Wort As String, ByVal Vergl As String) As String
'Text-Verschlüssung nach Vigenère
Dim n As Long, pos As Integer
Const abc = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
Vergl = UCase(Vergl)
Wort = UCase(Wort)
For n = 1 To Len(Wort)
If Mid(UCase(Wort), n, 1) <> " " Then
pos = IIf(n Mod Len(Vergl) <> 0, n Mod Len(Vergl), Len(Vergl))
Verschlüsseln = Verschlüsseln & Mid(abc, Asc(Mid(Vergl, pos, 1)) + Asc(Mid(Wort, n, 1)) - 129, 1)
Else
Verschlüsseln = Verschlüsseln & " "
End If
Next n
End Function