Verschlüsselungsprogramm

  • Allgemein

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von picoflop.

    Verschlüsselungsprogramm

    hallo,

    ich bin ein ziemlicher anfänger habe zwar auch schon vor nem jahr ein kleines programm selber programmieren können allerdings hab ich seitdem nichts mehr mit vb gemacht und daher sind meine sowieso schon geringen kenntnisse sehr eingerostet
    und zwar möchte ich ein programm schreiben welches einen text verschlüsselt
    und ich dachte das so

    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


    also wenn ich ein text eingebe und auf einen button klick soll er diesen text decodieren bzw. auf einem anderen button codieren
    also ein A soll als N codiert werden, ein B als O usw.
    und aus N wird A usw.

    quasi wie ein übersetzungsprogramm
    allerdings bin ich da echt überfordert wäre echt nett wenn ihr mir helfen könnt.

    danke
    pseudo code:
    dim yourstring ="bla", codedstr=""
    dim ascval
    for each letter in yourstring
    ascval =asc(letter)
    if ascval > 77 then '77 sollte m sein,musste mal die ascii werte suhen
    outstr &= chr(ascval-13)
    else
    outstr &= chr(ascval+13)
    next

    gruss
    Das ist meine Signatur und sie wird wunderbar sein!
    Wenn es dir nicht darauf ankommt, wie diese codiert sind, sondern Hauptsache, dass diese codiert sind, dann habe ich 2 DLLs geschrieben, eine DLL verschlüsselt den Text und die andere Entschlüsselt. Die Verschlüsselung ist über einen Key, oder einfacher erklärt, es ist eine UTF8 Verschlüsselung. Bei Bedarf lade ich diese 2 DLLs für dich hoch.
    ich hab jetzt ne antwort gefunden ... auch wenns ziemlich kompliziert geworden ist mit ziemlich vielen einträgen :)

    hier mal der code vllt. habt ihr ja ein vorschlag wie ich diese vielen befehle auf ein minimum reduziere


    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Text1.Text = Text1.Text.Replace("a", "01 ")
    3. Text1.Text = Text1.Text.Replace("b", "02 ")
    4. Text1.Text = Text1.Text.Replace("c", "03 ")
    5. Text1.Text = Text1.Text.Replace("d", "04 ")
    6. Text1.Text = Text1.Text.Replace("e", "05 ")
    7. Text1.Text = Text1.Text.Replace("f", "06 ")
    8. Text1.Text = Text1.Text.Replace("g", "07 ")
    9. Text1.Text = Text1.Text.Replace("h", "08 ")
    10. Text1.Text = Text1.Text.Replace("i", "09 ")
    11. Text1.Text = Text1.Text.Replace("j", "10 ")
    12. Text1.Text = Text1.Text.Replace("k", "11 ")
    13. Text1.Text = Text1.Text.Replace("l", "12 ")
    14. Text1.Text = Text1.Text.Replace("m", "13 ")
    15. Text1.Text = Text1.Text.Replace("n", "14 ")
    16. Text1.Text = Text1.Text.Replace("o", "15 ")
    17. Text1.Text = Text1.Text.Replace("p", "16 ")
    18. Text1.Text = Text1.Text.Replace("q", "17 ")
    19. Text1.Text = Text1.Text.Replace("r", "18 ")
    20. Text1.Text = Text1.Text.Replace("s", "19 ")
    21. Text1.Text = Text1.Text.Replace("t", "20 ")
    22. Text1.Text = Text1.Text.Replace("u", "21 ")
    23. Text1.Text = Text1.Text.Replace("v", "22 ")
    24. Text1.Text = Text1.Text.Replace("w", "23 ")
    25. Text1.Text = Text1.Text.Replace("x", "24 ")
    26. Text1.Text = Text1.Text.Replace("y", "25 ")
    27. Text1.Text = Text1.Text.Replace("z", "26 ")
    28. Text1.Text = Text1.Text.Replace("01 ", "n")
    29. Text1.Text = Text1.Text.Replace("02 ", "o")
    30. Text1.Text = Text1.Text.Replace("03 ", "p")
    31. Text1.Text = Text1.Text.Replace("04 ", "q")
    32. Text1.Text = Text1.Text.Replace("05 ", "r")
    33. Text1.Text = Text1.Text.Replace("06 ", "s")
    34. Text1.Text = Text1.Text.Replace("07 ", "t")
    35. Text1.Text = Text1.Text.Replace("08 ", "u")
    36. Text1.Text = Text1.Text.Replace("09 ", "v")
    37. Text1.Text = Text1.Text.Replace("10 ", "w")
    38. Text1.Text = Text1.Text.Replace("11 ", "x")
    39. Text1.Text = Text1.Text.Replace("12 ", "y")
    40. Text1.Text = Text1.Text.Replace("13 ", "z")
    41. Text1.Text = Text1.Text.Replace("14 ", "a")
    42. Text1.Text = Text1.Text.Replace("15 ", "b")
    43. Text1.Text = Text1.Text.Replace("16 ", "c")
    44. Text1.Text = Text1.Text.Replace("17 ", "d")
    45. Text1.Text = Text1.Text.Replace("18 ", "e")
    46. Text1.Text = Text1.Text.Replace("19 ", "f")
    47. Text1.Text = Text1.Text.Replace("20 ", "g")
    48. Text1.Text = Text1.Text.Replace("21 ", "h")
    49. Text1.Text = Text1.Text.Replace("22 ", "i")
    50. Text1.Text = Text1.Text.Replace("23 ", "j")
    51. Text1.Text = Text1.Text.Replace("24 ", "k")
    52. Text1.Text = Text1.Text.Replace("25 ", "l")
    53. Text1.Text = Text1.Text.Replace("26 ", "m")
    Allerdings nicht wirklich alltagstauglich, wenn du fünf Codes anschaust(ver und entschlüsselt) hast du das System herausen(bzw. brauchst du nur eine Datei mit allen Buchstaben des Alphabets anlegen und hast die "Kodierung"), wenn man schon sowas macht sollte man einen richtigen Algorithmus verwenden. Gibt Beispiele im Internet, zur Genüge, ansonsten nimmt man die vb Funktionen.

    lg
    @Sturmvogel

    ich verstehe dich aber mir gings nicht wirklich um Sicherheit ... ich wollt ein einfaches Verschlüsselungsprogramm für Texte programmieren um erst mal einen kleinen Einblick zubekommen ... aber das Problem habe ich auch bedacht und ich habe nicht nur eine Verschlüsselung eingebaut sondern 3
    so kann man einen bereits verschlüsselten Text nochmal verschlüsseln und man muss wissen in welcher Reihenfolge man den Text verschlüsselt hat um ihn wieder zu entschlüsseln

    also muss ich immer die richtige Verschlüsselungsreihenfolge beachten :)

    z.B.
    Hallo
    1. Verschlüsselung: unyyb
    2. Verschlüsselung: szool
    3. Verschlüsselung: rxvve

    wenn ich jetzt alle 3 kombiniere und das in der Reihenfolge 3., 1., und 2.
    kommt die Buchstaben: vprri

    dieses kann ich nun nur mit der entgegengesetzten Reihenfolge entschlüssen also 2., 1., und 3.

    aber lange Rede kurzer Sinn ... hier der Link da könnt ihr euch mal selber anschauen wie ichs meine :)

    mitglied.multimania.de/friedenswindel/ -> Text Codierer

    VB.NET-Quellcode

    1. Public Class Form1
    2. Function ver(ByVal yourstring)
    3. Dim codedstr = "", outstr
    4. Dim ascval
    5. For Each letter In yourstring
    6. ascval = asc(letter)
    7. If ascval > 109 Or (ascval > 77 AndAlso ascval < 95) Then '109 sollte m sein,musste mal die ascii werte suhen
    8. outstr = outstr & Chr(ascval - 13)
    9. Else
    10. outstr = outstr & Chr(ascval + 13)
    11. End If
    12. Next
    13. MsgBox(outstr)
    14. Return outstr
    15. End Function
    16. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    17. Dim ente = ver(InputBox("gib was ein"))
    18. Call ver(ente)
    19. End Sub
    20. End Class


    so, da du mit dem pseudcode als denkanstoss nix anzufangen wustest..

    hier sieht man auch gut, das ver und entschlüsseln völlig gleich ist und daher eine mehrfache verschlüsselung null effekt hat..

    gruß
    Das ist meine Signatur und sie wird wunderbar sein!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mono“ ()

    Xcess1337 schrieb:

    dieses kann ich nun nur mit der entgegengesetzten Reihenfolge entschlüssen also 2., 1., und 3.

    Nein.
    Du bildest immer 1:1 ab. Wie oft du eine 1:1 Abbildung durchführst ist dabei egal.
    1 Schritt: A -> E
    2 Schritt: E -> B
    3 Schritt: B -> Z
    4 Schritt: Z -> Q
    daraus folgt:
    A -> Q

    Das ganze läßt sich verhältnismäßig einfach entschlüsseln, wenn man die Buchstabenhäufigkeiten und Kombinationshäufigkeiten verwendet.
    Wenn "e" der gebrächlichste Buchstabe ist, sucht man den häufigsten Buchstaben im Chiffre-Text. zB "w". Also wird e -> w
    Das macht man mit allen. dann schaut man noch nach bestimmten Kombinationenen. Also zb "ch", "sch", "st". usw usw.