Autor Beitrag
Herr Bananerama
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 130



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 130



BeitragVerfasst: Fr 21.12.07 11:06 
user profile iconTarry 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 130



BeitragVerfasst: Fr 21.12.07 11:08 
user profile iconGausi 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: 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. :mahn:

_________________
We are, we were and will not be.
Tarry
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: 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:

user profile iconGausi 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. :mahn:


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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 130



BeitragVerfasst: Fr 21.12.07 11:33 
user profile iconTarry 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 213
Erhaltene Danke: 1



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1296

Windows Vista Home Premium
Delphi 7 PE, Delphi 7 Portable, bald C++ & DirectX
BeitragVerfasst: 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.