Hilfe Verschlüsselung

  • VB.NET

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

    Hilfe Verschlüsselung

    hallo ich bin dabei meine eigenne verschlüsselung zu schreiben klappt bisher auch wunderbar ,nun mein Problem ich habe 2 Textboxen einmal wo meine verschlüsselung rein kommt und die 2 wo dann der text angezeigt wird aber immer rein zu schreiben

    bsp:

    VB.NET-Quellcode

    1. If TextBox1.Text = "skk&@2234dff003" Then
    2. TextBox2.Text = "ABC"
    3. End If
    und das für jedes Wort sprich : jeden Buchstaben würde Jahre dauern ^^ gibt es eine möglichkeit das ich texte in eine textdatei rein schreibe zb. so

    srt7446@35
    0ß3494@00
    4234@³4@3
    und er dann die textbox dürchsung wenn die verschlüsselung eingegeben wurde in der textbox und dann irgentwie den text dazu anzeigt wäre das möglich oder hat da jemand eine bessere Idee wie ich das anstelle

    mfg: underground77 :)
    Der Stand der Technik bezüglich Kryptografie ist enorm hoch entwickelt, sodaß Standard-Klassen schon im Framework bereitstehen, die eine Sicherheit der Stufe "derzeit unknackbar" bereitstellen.
    Da mit was selbstgebastelten zu kommen kann nur müßige Spielerei sein. Vermutlich hättest du mehr Gewinn davon, dich in die bereitstehenden Technologien einzuarbeiten - die sind aber auch nicht einfach.

    Generell verschlüsselt man immer ganze Texte - nicht stückhenweise. Bei stückchenweise kann ein Angreifer sich die Stücken einzeln vornehmen, oder untereinander vergleichen, und da bist du schnell auseinandergenommen, denn auch die Kunstfertigkeit des Knackens von Codes ist enorm hoch entwickelt.

    Jedenfalls, wenn man nicht stückchenweise verschlüsselt, dann kann man auch nicht in einer Textbox verschlüsselte Text-Stückchen eingeben, und während der Eingabe schon entschlüsselte Stückchen angugge, sondern man kann immer nur den kompletten verschlüsselten Text entschlüsseln.
    Mit einer Schleife jeden Buchstaben durchgehen und ersetzen.

    VB.NET-Quellcode

    1. For i as integer = 0 to PlainText.length - 1
    2. Select Case PlainText(i)
    3. Case "a"c
    4. 'mach irgendwas
    5. Case "b"c
    6. 'mach noch viel mehr
    7. End Select
    8. Next

    Skybird schrieb:

    Das sind ja Ubisoftmethoden hier !

    habe mir dieser schleife kaum gearbeitet , kannst mia bitte den vollständigen source cod geben also wenn textbox1 .text so und so ist zb. aer2342536q3424 dann soll textbox2.text = 123 oder so aber nun mit deie schleife weis ich nicht genau wie das gehen soll ein vollständiger source wäre super :)
    ein vollständiger source wäre super

    Dann verweise ich auf den Marktplatz. Dann lernst Du es aber auch nicht.

    Ein Beispiel:

    VB.NET-Quellcode

    1. For i As Integer = 0 To 4
    2. Next

    Das was in der Schleife steht wird ein paar mal durchlaufen.
    Beim ersten Mal hat die Variable i den Wert 0.
    Beim zweiten Mal hat sie den Wert 1, dann 2, dann 3 und beim letzten Mal 4.

    Wenn Du also alle Items einer Auflistung durchlaufen willst gehst Du von 0 bis Anzahl an Items - 1 (Denn Anzahl an Items - 1 ist der höchste Index der vorkommen kann).

    Wenn Du allerdings nirgends einen Index benötigst kannst Du eine For Each Schleife verwenden. Dann hat die Variable nacheinander als Wert die einzelnen Items der Auflistung

    VB.NET-Quellcode

    1. For Each i As Char in PlainText
    2. Next


    Oder was auch möglich ist (wenn Option Infer On ist):

    VB.NET-Quellcode

    1. For Each i In PlainText
    2. Next


    Hier wird automatisch der Datentyp Char für die Variable i übernommen. Ob Du das so machst bleibt Dir überlassen.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils
    sry aber ich bin nicht der beste in visual basic

    meinst du das jetz so oder wie ? :(

    VB.NET-Quellcode

    1. For i As Integer = 0 To 4
    2. If TextBox1.Text = "5df3404254757@23" Then
    3. TextBox2.Text = "a"
    4. End If
    5. Next
    das würde dann auch kein sin ergeben ^^
    Nein das...

    Moment mal. Du möchtest eine Verschlüsselung in VB schreiben und kennst einige wichtige Grundkenntnisse nicht?
    Hm. Das wird schwierig. Fang mal lieber mit etwas einfacherem an als eine Verschlüsselung. Befasse Dich mit Datentypen, etc.

    Also gut, nur um die For Schleife zu erklären:
    Wenn Du jedes in Deinem Text vorkommende Zeichen bearbeiten willst verwendest Du am besten eine For Each Schleife.

    VB.NET-Quellcode

    1. For Each i As Char In TextBox_PlainText.Text
    2. Next


    Nebenbei: Wie Du siehst habe ich nicht TextBox1 verwendet, sondern TextBox_PlainText. Das liegt daran, dass man sich unmöglich die Aufgaben von... sagen wir mal 20 TextBoxen merken kann. Im Idealfall ist am Name schon erkennbar was sie darstellt. Und weil in dieser TextBox der Klartext (engl. "Plain text") steht heißt die TextBox TextBox_PlainText. Man kann auch txtPlainText o.ä. verwenden. Wie genau Du es machst bleibt Dir überlassen. Aber Du machst es Dir nur einfacher wenn Du erkennbare Namen verwendest.

    Um Text irgendwo anzuhängen verwendest Du nicht =, sondern &=.
    Also nicht TextBox_KryptedText.Text = "Sonstwas", sondern TextBox_KryptedText.Text &= "Sonstwas" (Auch hier ein verständlicher Name).

    Jetzt hast Du Ein- und Ausgabemöglichkeiten.
    Alles was Du tun musst ist für jedes mögliche Zeichen ein eindeutiges anderes Zeichen zu (er)finden.
    In der For Each Schleife verwendest Du die Variable, die nach dem Each steht, bildest daraus das neue Zeichen und hängst es an den Text der TextBox_KryptedText an.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils