Autor |
Beitrag |
Herr Bananerama
      
Beiträge: 130
|
Verfasst: Fr 21.12.07 10:56
Hi,
Mein parallel Info-Kurs macht zur Zeit Verschlüsselung und da hab ich mir gedacht, das ist doch ganz simpel einfach so ein bissle verschieben und schon hast du eine Caesar Verschlüsselung. Nun hab ich aber gesehen das die für verschlüsseln und entschlüsseln nur ein Memo Feld benutzen! Ich könnte mir höchstens vorstellen, dass die immer um die hälfte des Alphabets verschlüsseln, jedoch wäre das nicht eine sehr dumme Art, weil dann diese leicht zu lösende Caesarverschlüsselung noch leichter zu entschlüsseln ist (von dritten)? Wenn das nicht der Trick ist, welcher ist es dann?
Freue mich über alle Antworten
|
|
Tarry
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: Fr 21.12.07 11:01
Hi, vielleicht mit dynamischen Arrays (<--- Kenn mich damit aber überhaupt nicht aus, deshalb isses wahrscheinlich Müll  )
Oder aber mit nem zweitem unsichtbaren Memo (so würde ich es machen)
Gruß
Tarry
PS: Hier findest du nen verschlüsselungs Algo, falls du ihn suchst.
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 21.12.07 11:04
In dem Memo steht der Text. Klickt man auf "Verschlüsseln", wird dieser durch den verschlüsselten Text ersetzt. Klickt man auf "Entschlüsseln", wird der Klartext wiederhergestellt. Das funktioniert mit jeder Art von Verschlüsselung, nicht nur mit Caesar, und auch nicht nur mit Rot13 (so nennt sich das mit der Hälfte des Alphabets  ).
_________________ We are, we were and will not be.
|
|
Herr Bananerama 
      
Beiträge: 130
|
Verfasst: Fr 21.12.07 11:06
Tarry hat folgendes geschrieben: | Hi, vielleicht mit dynamischen Arrays (<--- Kenn mich damit aber überhaupt nicht aus, deshalb isses wahrscheinlich Müll )
Oder aber mit nem zweitem unsichtbaren Memo (so würde ich es machen)
Gruß
Tarry
PS: Hier findest du nen verschlüsselungs Algo, falls du ihn suchst. |
Erstmal danke für die Antwort, den Algo brauch ich net, kann mir das so in etwa denken aber wie meinst du das mit dem unsichtbaren Memo Feld
|
|
Herr Bananerama 
      
Beiträge: 130
|
Verfasst: Fr 21.12.07 11:08
Gausi hat folgendes geschrieben: | In dem Memo steht der Text. Klickt man auf "Verschlüsseln", wird dieser durch den verschlüsselten Text ersetzt. Klickt man auf "Entschlüsseln", wird der Klartext wiederhergestellt. Das funktioniert mit jeder Art von Verschlüsselung, nicht nur mit Caesar, und auch nicht nur mit Rot13 (so nennt sich das mit der Hälfte des Alphabets ). |
Sorry ich habe mich falsch Ausgedrück, ich meine die machen das mit einem Button
|
|
Gausi
      
Beiträge: 8548
Erhaltene Danke: 477
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 21.12.07 11:14
Wenn die nur einen Button haben, deutet das in der Tat auf eine komplett symetrische Verschlüsselung hin. D.h. z.B. m->x und x->m. Rot13 mus es nicht unbedingt sein.
Alternativ kann man sich natürlich merken, wie oft man den Button geklickt hat (z.B. in der Eigenschaft Tag) und abwechselnd ver- und entschlüsseln. Aber das ist alles rumraterei
Nebenbei: Ein unsichtbares Memofeld ist igitt bäh bah pfui. Ein Memofeld ist zum Anzeigen da, nicht um irgendwelche Daten zu speichern. Dafür nimmt man einen String, oder eine Stringlist. 
_________________ We are, we were and will not be.
|
|
Tarry
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: Fr 21.12.07 11:17
Naja, einfach ne RadioGroup in der man dann den Modus auswählen kann, ich häng mal meine, zugegebenermaßen ältere Version an.
Gruß
Tarry
EDIT:
Gausi hat folgendes geschrieben: |
Nebenbei: Ein unsichtbares Memofeld ist igitt bäh bah pfui. Ein Memofeld ist zum Anzeigen da, nicht um irgendwelche Daten zu speichern. Dafür nimmt man einen String, oder eine Stringlist.  |
Aber kann ein String den auch Zeilenumbrüche vertragen, also kann ich das so wie memBeispiel.Lines[3] machen?
Einloggen, um Attachments anzusehen!
|
|
Herr Bananerama 
      
Beiträge: 130
|
Verfasst: Fr 21.12.07 11:33
Tarry hat folgendes geschrieben: | Naja, einfach ne RadioGroup in der man dann den Modus auswählen kann, ich häng mal meine, zugegebenermaßen ältere Version an.
Aber kann ein String den auch Zeilenumbrüche Vertragen, also kann ich das so wie memBeispiel.Lines[3] machen? |
Das mit der Radio Group wäre genau das gleiche wie mit 2 Button  und sich merken op man zuletzt verlüsselt oder entschlüsselt hat ist auch doof weil man dann nicht zweimal entschlüsseln kann. Aber beides ist natürlich möglich. Ich denke es wurde einfach mit diesem Rot13 gearbeitet.
Bei Strings kann man glaube ich Zeilenbrüche machen: das geht mit +#13#10
In welcher Zeile sich etwas befindet kann man bestimmt auch irgendwie herausfinden. Ich könnte mir z.B. vorstellen das man einfach nachfragt wie oft +#13#10 benutzt worden ist. Dein Programm gefällt mir sehr gut , danke dafür. Hat mir ne kleine Inspiration gegeben, wie man das schön auf der Gui darstellen kann. Gruß Herr Bananerama
|
|
Wolle92
      
Beiträge: 1296
Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
|
Verfasst: Fr 21.12.07 12:28
@Tarry: Das, was das Programm in deinem Anhang macht, ist keine Caesar-Verschlüsselung, bei der Caesar-Verschlüsselung werden die Buchstaben nur verschoben, bei deinem Programm nicht...
_________________ 1405006117752879898543142606244511569936384000000000.
|
|
Tarry
      
Beiträge: 213
Erhaltene Danke: 1
|
Verfasst: Fr 21.12.07 12:33
Das Verschieben ist ja nur eine Sonderform des Vertauschen... Du kannst auch mit meinem Prog das Alphabet verschieben.
Ich war nur zu faul dafür ne Funktion zu schreiben, werde ich jetzt wohl auch nicht mehr machen, aber es wäre wie gesagt ja nur ne Sonderform. Dadurch ist die Verschlüsselung mit meinem Prog ja nochmal sicherere als die einfache Verschiebung.
Gruß
Tarry
_________________ "Es gibt zwei Dinge, die unendlich sind. Das Universum und die menschliche Dummheit. Beim Universum bin ich mir noch nicht ganz sicher." -Albert Einstein
|
|
Wolle92
      
Beiträge: 1296
Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
|
Verfasst: Fr 21.12.07 12:44
Naja, aber hier gehts ja konkret um Caesar...
Verschieben geht auch einfacher...
Du brauchst nur ne Zahl und erhöhst die ASCII-Codes dementsprechend (natürlich musst du, wenn du über den für Z hinausgehst wieder 26 abziehen)
_________________ 1405006117752879898543142606244511569936384000000000.
|
|