Encrypter für "Geheimsprache"

  • Hallo!
    Ich will ein kleines Programm schreiben, dass einen Text in eine "geheimschrift" umwandelt
    dazu hab ich einen test-string geschrieben:

    [autoit]

    $text = StringReplace("Ein Satz mit a", "a", "$")
    MsgBox(0, "Encrypted", $text)

    [/autoit]


    1.frage:
    wie kann ich für das ganze "ABC" die buchstaben definieren?
    2.Frage:
    ich will das wie gesagt in ein GUI verpacken, mit Buttons, die dann einen eingegebenen text encrypten.
    Wie geht das?

    vielen dank für die hilfe im vorraus!

  • - Für jeden Buchstaben gibt es einen entsprechenden ASCII-Wert - schau mal in der Hilfe unter ASCII.-
    - Button in einer GUI ==> Hilfe: Funktion GUICtrlCreateButton(), da findest du alles was du brauchst.

    1.was hat das mit ascci zu tun?
    2.der button ist nicht das problem, sondern der befehlt, dass das programm mir in einem text jeden buchstaben in einen anderen umformt
    z.b. "Das ist ein Satz" = "Ebt jtu fjo Tbua"

  • ...
    1) Das ersetzen in eine Funktion packen, diese dann bei ButtonKlick aufrufen
    2) GuiCtrlRead und GuiCtrlSetData

    • Offizieller Beitrag

    Du verwendest das Wort "Encrypter" - also gehe ich davon aus, dass du (wenn auch primitiv) verschlüsseln willst.
    Verschlüsseln ist nichts anderes als rechnen und zum Rechnen braucht man Zahlen. Ergo ==> ASCII-Werte der Buchstaben.
    Ich weiß nicht, inwieweit du dich mit Verschlüsselungssystemen auskennst, ein ganz simples ist z.B. Rot13.
    Der ROT13-Algorithmus basiert auf einer Verschiebung aller Buchstaben um 13 Positionen im Alphabet. Technisch heisst das, dass die ASCII-Werte der Buchstaben um 13 inkrementiert bzw. dekrementiert werden.

  • Du verwendest das Wort "Encrypter" - also gehe ich davon aus, dass du (wenn auch primitiv) verschlüsseln willst.
    Verschlüsseln ist nichts anderes als rechnen und zum Rechnen braucht man Zahlen. Ergo ==> ASCII-Werte der Buchstaben.
    Ich weiß nicht, inwieweit du dich mit Verschlüsselungssystemen auskennst, ein ganz simples ist z.B. Rot13.
    Der ROT13-Algorithmus basiert auf einer Verschiebung aller Buchstaben um 13 Positionen im Alphabet. Technisch heisst das, dass die ASCII-Werte der Buchstaben um 13 inkrementiert bzw. dekrementiert werden.


    okee...aber wenn ich meinen eigenen algorythmus hab?
    er fängt so an: A=L, B=SPR, C=18,...
    also ohne sinn für jemand aussenstehenden
    und da kannst du auch keine mathematische formel dafür rausfinden...

  • http://de.wikipedia.org/wiki/ROT13
    Du kannst auch ROT5 oder 7 oder 15 ... machen :P Muss aman aber wissen, um decrypten zu können :)

    Wenn die Buchstaben ohne Muster vertaucht werden sollen, dann solltest du Zwei Strings machen und mit StringInStr arbeiten. (Case Sensitive :) ) Für jeden Buchstaben

    String 1: normale deutsche Tastatur:

    Spoiler anzeigen
    [autoit]

    $Alphabet = "abcdefghijklmnopqrstuvwxyz"
    $Alphabet &= StringUpper($Alphabet)
    $Alphabet &= "0123456789ß´`^°§$%&/()=?" & '"'
    $Alphabet &= "+*#'-_.:,;~@€~µ|<>²³{[]}\"

    [/autoit]


    2. Musst du mit allen Zeichen aus String 1 selber machen :)

    Einmal editiert, zuletzt von progandy (13. Februar 2008 um 18:20)

    • Offizieller Beitrag

    OK, dann speichere deine Zuordnung in einem Array ab:

    [autoit]

    Dim $aMuster[27][2]
    $aMuster[0][0] = 'A'
    $aMuster[0][1] = 'L'

    [/autoit][autoit][/autoit][autoit]

    $aMuster[1][0] = 'B'
    $aMuster[1][1] = 'SPR'

    [/autoit][autoit][/autoit][autoit]

    $aMuster[2][0] = 'C'
    $aMuster[2][1] = '18'

    [/autoit]


    usw.

    Aber glaub mir: Du wirst es nicht schaffen das wieder zu Decrypten. Denn woher weißt du, dass z.B. "SPR" für ein Zeichen steht....??

  • Aber glaub mir: Du wirst es nicht schaffen das wieder zu Decrypten. Denn woher weißt du, dass z.B. "SPR" für ein Zeichen steht....??

    Wenn er sonst nie 'S', 'P' oder 'R' verwendet und als erstes die 'hart verdrahtete' Abfrage darauf macht... :huh:
    Lass ihn mal machen und gucken was aus seiner Idee wird.
    Wir haben alle mal angefangen ^^