Verschlüsselungsausgabe

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Verschlüsselungsausgabe

    Hallo,
    ich habe es hinbekommen eine einfache Ver-Entschlüsslung auf die Beine zu stellen. Der folgende Code ist für den Encrypt button und für den Decrypt button.

    Encrypt

    VB.NET-Quellcode

    1. Private Sub btnEncrypt_Click(sender As Object, e As EventArgs) Handles btnEncrypt.Click
    2. Dim encrypt As String = ""
    3. Dim letter As Char
    4. Dim i, charsInFile As Short
    5. Try
    6. charsInFile = txtNote.Text.Length
    7. For i = 0 To charsInFile - 1
    8. letter = txtNote.Text.Substring(i, 1)
    9. encrypt = encrypt & Chr(Asc(letter) + 1)
    10. Next
    11. txtNote.Text = encrypt
    12. txtNote.Select(0, 0)
    13. Catch ex As Exception
    14. MsgBox(ex.Message, MsgBoxStyle.Information, "Error")
    15. End Try
    16. End Sub


    Decrypt

    VB.NET-Quellcode

    1. Private Sub btnDecrypt_Click(sender As Object, e As EventArgs) Handles btnDecrypt.Click
    2. Dim allText As String = ""
    3. Dim decrypt As String = ""
    4. Dim i, charsInFile As Short
    5. Dim letter As Char
    6. Try
    7. allText = txtNote.Text
    8. charsInFile = allText.Length
    9. For i = 0 To charsInFile - 1
    10. letter = allText.Substring(i, 1)
    11. decrypt = decrypt & Chr(Asc(letter) - 1)
    12. Next
    13. txtNote.Text = decrypt
    14. txtNote.Select(0, 0)
    15. Catch ex As Exception
    16. MsgBox(ex.Message, MsgBoxStyle.Information)
    17. End Try
    18. End Sub


    Der Mechanismus funktioniert auch einwandfrei. Leider hab ich aber das Problem, dass ich mit einer richtextbox arbeite. Nun habe ich Listen wie z.B.
    (so kopier ich sie rein)
    Peter
    Rudolf
    Günter
    Butterbirne

    (nach dem encrypten)
    PeterRudolfGünter
    Butterbirne
    ​(dann halt gecrypted -> ist so nur anschaulicher)

    Im Endeffekt möchte ich, dass die Formatierung nicht verloren geht. So wie ich Daten in die Richtxt reinkopiert habe (Reihenfolge) möchte ich sie nach dem encrypten wieder rauskopieren können. (dann halt gecrypted)

    MFG
    Geh die RTB doch einfach Zeilenweise durch und Ver-/ entschlüssel entsprechend eine Zeile nach der anderen
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Ist das gezielt oder willst Du die "Verschlüsselung" produktiv einsetzen?
    Im zweiten Fall würde ich davon dringend abraten und Dir eine fertige Implementierung eines bewährten Verfahrens empfehlen.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    RTB hat die Eigenschaft Lines.

    Mal eben aus der Hüft geschossen evtl. sowas in der Richtung:

    For Each sLine As String in RTB.Lines
    ' do crazy stuff

    Next
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Ich würde vor allem für decrypt und encrypt functions erstellen.

    private function Verschlüsseln(byval Text as string) as string
    'hier wird verschlüsselt
    return VerschlüsselterText
    end function

    private function Entschlüsseln(byval Text as string) as string
    'hier wird entschlüsselt
    retrun EntschlüsselterText
    end function

    Dann kannst du wie @mrMo beschrieben hat durch die Zeilen gehen
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."

    DaWeed032 schrieb:

    VB.NET-Quellcode

    1. encrypt = encrypt & Chr(Asc(letter) + 1)
    2. ' ...
    3. decrypt = decrypt & Chr(Asc(letter) - 1)
    Das nennt sich Caesar-Verschlüsselung (Gaius Julius Caesar) und ist doch etwas verstaubt.
    Damit kannst Du gewiss nix schützen, bestanfalls ist das ein netter Einstieg in die Historie der Verschlüsselung.
    Um selber etwas sicheres zu bauen musst Du sehr viel tiefer in die Trickkiste greifen. Da ist die XOR-Methode Deines letzten Threads schon etwas freundlicher.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany
    ​Danke für den Hinweis :) allerdings wie schon oben erwähnt ist es nicht meine Absicht etwas zum Schutz zu verschlüsseln.
    ​Im Endeffekt ist es mir egal ob man meinen Code entschlüsseln kann oder nicht. Bei mir kommt es nur darauf an, dass ich veränderte Daten weitergebe.

    DaWeed032 schrieb:

    nicht meine Absicht
    Sorry, ich habe das nicht überlesen.
    Zur einfachen Veränderung genügt ja jeder einfache Austausch-Algorythmus.
    Mach Dir ein Dictionary(Of Char, Char), wo Du zum In-Wert den Out-Wert über einen Tabellen-Like Zugriff holst, zurück geht das einfach mit der inversen Tabelle.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!