Visual Basic Zeilenumbruch im Code?

1 Antwort

Ist Dein Ansatz überhaupt richtig? Du kannst doch nicht mit If-Then eine Verschlüsselung vornehmen.

Vielleicht hilft Dir folgender Ansatz:

Alle Zeichen in Deinem Text sind ASCII oder Unicode-Zeichen. Der ASCII Zeichensatz enthält Zeichen mit dem Code 0 bis 255, Unicode bis 65535.   ASCII kannst Du für Editor-Texte verwenden, bei Word Unicode. Und vbCrLf besteht aus den beiden Codes 10 und 13 (Chr(10) und Chr(13))

Jetzt eine Vorschlag zu Deinem Verschlüsselungsprogram:

Du hast beispielsweise einen ASCII- Text und einen ASCII-Schlüssel.

Wenn Du die Codewerte der Zeichen einzeln addierst verschlüsselst Du und entschlüsselst indem Du später die Schlüsselcodes wieder subtrahierst.

Einziges Problem ist: Beim  Addieren von zwei Werten kannst Du eine Zahl über 255 bekommen. Du musst also beim Verschlüsseln bei einem Wert über 255 diesen Grenzwert abziehen und beim Entschlüsseln bei Werten unter 0 die 255 wieder abziehen.

Hier ein Codebeispiel  für das Codieren:

    Function Codieren(ByVal Tx1 As String, ByVal Schlüssel As String) As String
        Dim m, n As Integer
        Dim Cd1 As Integer
        Dim Tx2 As String = ""
        n = 0
        For m = 0 To Tx1.Length - 1
            Cd1 = Asc(Tx1.Substring(m, 1)) + Asc(Schlüssel.Substring(n, 1))
            If Cd1 > 255 Then Cd1 = Cd1 - 255
            Tx2 = Tx2 & Chr(Cd1)
            If n = Schlüssel.Length - 1 Then n = 0
        Next
        Return Tx2
    End Function

Das Decodieren kannst Di sicher selbst programmieren.

Viel Spaß!

Horst

horstfh  26.06.2017, 17:19

Beim Entschlüsseln natürlich ADDIEREN !!

0
YoutubeAG 
Fragesteller
 26.06.2017, 17:32

Das funktioniert schon. Ich hab zwei Mid$ - Funktionen mit sich erhöhender Stelle einmal auf den Eingabetext und einmal auf den Schlüssel laufen lassen. Beim Schlüssel eben noch so, dass, wenn die Stelle gleich der Länge des Schlüssels + 1 ist, sich wieder auf 1 zurücksetzt. Das Schlüsselwort soll hierbei individuell vom User ausgesucht werden.

Die beiden werte der Mid$ - Funktionen speichere ich ein einem String (ccc für Text, swd für Schlüssel). Mit den beiden subs az für ccc und bz für swd weise ich dann jeweils einem String - Wert einen Integer - Wert (abc bei az, acb für bz) zu (az: 1 - 26; bz: 0 - 25).

Diese beiden werde überlagere ich (bei der Entschlüsselung überlagere ich mit -acb) dann mit dem Integer cab und lass über die Verrechnungsmethode vr einen String zzz ausgeben.

Der Ausgabe - String aus aus setzt sich dann aus aus = aus + zzz zusammen.

0