Autor Beitrag
DarkLord05
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Mo 06.06.05 17:32 
Hi,
ich hab mir letztens vorgenommen ein Programm zu machen wo man in ein MemoFeld z.B. einen Satzt eingibt den man dann in einem 2. MemoFeld verschlüsselt sieht.
Wollte das erst mal ganz einfach machen mit Caesar (Rot13 heißt der glaub auch noch).

Also bin ich ins Internet und habe mal gesucht. Habe hier und da was gefunden,... aber ich versteh es irgendwie nicht.
Also frag ich einfach mal:

Wie kann man einen String aus einem Memofeld verschlüsseln?
(Da geht ja irgendwie was mit const und ord und noch so was... habs aber nicht gechecked... kann mir das mal hier einer BITTE erklären?)

_________________
QBasic | Delphi | c++ | PHP | C# .NET | Java
OneOfTen
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 06.06.05 17:55 
das steht alles zum Thema:

de.wikipedia.org/wiki/Verschiebechiffre

Zu Ord() liefert dir sicher jemand mit mehr Zeit eine Erklärung.
Am meisten Zeit hat die Delphi-Hilfe :wink:
DarkLord05 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Mo 06.06.05 18:00 
Zitat:
das steht alles zum Thema:

de.wikipedia.org/wiki/Verschiebechiffre


Sorry... vielleicht habe ich mich falsch ausgedrückt^^
Die verschlüsselung an sich ahbe ich begriffen... aber nicht wie man sie bei delphi umsetzt^^. Also das hauptproblem eigentlich^^


Zitat:
Zu Ord() liefert dir sicher jemand mit mehr Zeit eine Erklärung.
Am meisten Zeit hat die Delphi-Hilfe

An sich ist mein Englisch gut... aber in der DelphiHilfe ist mit zu viel fachchinesisch... werde mir das allerdings trotztdem mal versuchen zu übersetzen...
bocky3
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Mo 13.06.05 21:58 
mit Ord() kann man beispielsweise einen buchstaben in seinen ASCII-Code umwandeln und mit Chr() wird der ASCII-Code in eine ASCII Zeichen umgewandelt.
is doch ganz eiinfach^^
Bsp.:
ausblenden Delphi-Quelltext
1:
z  :=  ord(Edit2.CharCase);					
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Di 14.06.05 09:31 
entweder guckt ihr alle gegen die sonne, oder die bildschirmhelligkeit eurer pc's ist zu hoch eingestellt.
wie sonst erklären sich die vielen "^^" :mrgreen:

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 14.06.05 12:59 
user profile iconDarkLord05 hat folgendes geschrieben:
An sich ist mein Englisch gut... aber in der DelphiHilfe ist mit zu viel fachchinesisch... werde mir das allerdings trotztdem mal versuchen zu übersetzen...

Hmm, ich hab Delphi 2005 nicht mehr verfügbar (hatte nur die Trial), aber war die Hilfe da nicht auf deutsch?
DarkLord05 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Mi 15.06.05 12:55 
Zitat:
Hmm, ich hab Delphi 2005 nicht mehr verfügbar (hatte nur die Trial), aber war die Hilfe da nicht auf deutsch?


Schön wäre es^^ Aber wenn die einer hat... bitte per E-mail an mich :D

@bocky3

ausblenden Delphi-Quelltext
1:
z  :=  ord(Edit2.CharCase);					

Das heißt dann das die Zeichen aus Edit2 in variable "z" als ASCII-Code gespeichert werden? Hab ich das richtig verstanden?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 15.06.05 14:33 
Ganz genau! Dabei ist z ein Integer. Was allerdings CharCase bedeutet weiss ICH nicht auswendig.

Ich wuerde das in einer Schleife mit
ausblenden Delphi-Quelltext
1:
Edit2.Text[i] := Chr(Ord(Edit2.Text[i]) + 3);					

machen (in diesem Beispiel wirds wieder ins Edit geschrieben).

A entspricht uebrigens 65 und a entspricht 97 (das sollte man auswendig wissen, wenn man viel mit sowas arbeitet, alles andere kann man dann ja ausrechnen).
DarkLord05 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Mi 15.06.05 18:24 
Zitat:
A entspricht uebrigens 65 und a entspricht 97 (das sollte man auswendig wissen, wenn man viel mit sowas arbeitet, alles andere kann man dann ja ausrechnen).

Was für ein A ?
Hab ich was verpasst? Oder meinste ASCII Code? Die kenn ich nicht auswendig^^
bocky3
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 45



BeitragVerfasst: Mi 15.06.05 21:20 
er meint den ASCII-Code von "a" bzw "A"

die deutsche delphihilfe von delphi 7 nehm ich auch gern.^^
andererseits ist delphi der einzige grund warum ich englisch als sprache nich verlernt hab. :oops: :D
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 16.06.05 09:28 
user profile iconDarkLord05 hat folgendes geschrieben:
Die kenn ich nicht auswendig^^

Deshalb hab ichs ja hingeschrieben :lol: , damit du nicht erst suchen musst, und wenn du ein bisschen damit machst, kannst du die bald ganz automatisch auswendig... :wink:
DarkLord05 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Do 16.06.05 13:12 
Ich hab mal ein Prog gesehen der einem die ganzen Werte angezeigt hat. Hab es mir letztens mal rausgekramt. :D

So, und wie könnte man jetzt so ne kleine Verschlüsselung hinbekommen?
Ich hab das schon öfter gesehen das die das mit ner Constanten machen... da ich so was aber noch nie wirklich benutzt habe :oops: hab ich kein plan davon.

//EDIT:
Zitat:
die deutsche delphihilfe von delphi 7 nehm ich auch gern.^^

Ich hab zwar Delphi 2005, aber ich würde sogar sagen das die sich nicht sooo viel unterscheiden. Oder irre ich mich?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 16.06.05 13:34 
na ja, da gibts schon Unterschiede allerdings weniger bei diesen einfachen Funktionen :wink: , deshalb da kannst du ruhig die von Delphi 7 nehmen, abgesehen davon, Delphi 2005 zeigt doch an, welche Parameter erwartet werden...

Und zum Problem:
Ich möchte hier doch nicht ein Programm für dich schreiben!!! Versuchs mal und zeig dann wo du nicht weiterkommst!!!

Und ich hab doch schon ein Beispiel gemacht, wie du das machen kannst, da muss doch nur noch ne Schleife drum und statt der 3 halt ne Konstante.

Und solch eine Konstante kannst du dann im Code genau wie eine Variable des entsprechenden Typs benutzen.

Ich werd noch kurz etwas dazu schreiben, aber bestimmt keinen fertigen Code.
ABER: So mit Konstanten kann man das noch leichter knacken als diese Verschlüsselung an sich schon ist, bei dieser Verschlüsselung hab ich mir ne Weile mit bekannten nen Spaß draus gemacht, im Kopf die Verschiebung herauszufinden, deshalb die ist extrem einfach zu knacken...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
//Oben unter interface:
uses ...

const 
  Verschiebung = 3;

implementation

//(...)
//for-Schleife von 1 bis Länge von dem String, ich nenne ihn DerText
  DerText[i] := Chr(Ord(DerText[i]) + Verschiebung);

Und wenn das nicht reicht, dann frag!!! Ich werd das nicht fertig schreiben, weil das nix bringen würde (jedenfalls keinen Lerneffekt).
DarkLord05 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Do 16.06.05 13:46 
Danke... aber ich wollte auch keinen fertigen code.. und es ist mir auch egal wie leicht der zu knacken geht.
Wie du schon gesagt hast, es geht mir hier rein ums lernen.
Werde mich gleich mal ransetzen und mal ausprobieren.
Danke für dein Beispiel mit der Constanten.. hoffe das erleichtert mir das ein bisschen, da ich mich damit auch noch nie auseinandergesetzt habe. :oops:
DarkLord05 Threadstarter
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 449

WinXP Pro SP2
Opera; Delphi 3 Pro; Delphi 2005, Turbo Delphi, dev-c++, Eclipse, MS Visual Studio .NET 2003, MS Visual C++
BeitragVerfasst: Do 16.06.05 19:04 
So, dann habe ich ein Problem...
habe erstmal ohne Schleife gemacht, nur um es zu testen.

Habe die Constante so gelassen wie sie war (bei 3 (ist das richtig???))
Dann habe ich ein neues Projekt geöffnet und 2 Edit Felder reingebaut (Eingabe und ausgabe).
Ein Button (zum Starten).
Wie du siehts habe ich erstmal nur deinen Code benutzt und umgeschrieben:
ausblenden Delphi-Quelltext
1:
AusgabeEdit.Text := Chr(Ord(EingabeEdit.Text) + Verschiebung);					

Der ging gar nicht, da Ord eine Zahl vorraussetzt und keinen String, oder hab ich mich verguckt?!
Dann habe ich mir das beispiel oben angeguckt, von Bocky3.
Also sah mein (extrem)kleiner Code so aus:
ausblenden Delphi-Quelltext
1:
AusgabeEdit.Text := Chr(Ord(EingabeEdit.CharCase) + Verschiebung);					

Das konnte ich schon mal starten, aber als ich dann in das Eingabe Feld was eingetippt habe, und dann auf den Button geklickt habe, war da nur so ein kästchen, so eins wenn der das Zeichen nicht kennen würde.
Aber immer nur eins.