Autor |
Beitrag |
DarkLord05
      
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++
|
Verfasst: 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
|
Verfasst: 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 
|
|
DarkLord05 
      
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++
|
Verfasst: 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
      
Beiträge: 45
|
Verfasst: 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.:
Delphi-Quelltext 1:
| z := ord(Edit2.CharCase); |
|
|
patrick
      
Beiträge: 1481
WIN2k, WIN XP
D6 Personal, D2005 PE
|
Verfasst: 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 "^^" 
_________________ Patrick
im zweifelsfall immer das richtige tun!!!
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 14.06.05 12:59
DarkLord05 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 
      
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++
|
Verfasst: 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
@bocky3
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
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: 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
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 
      
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++
|
Verfasst: 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
      
Beiträge: 45
|
Verfasst: 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. 
|
|
jaenicke
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 16.06.05 09:28
DarkLord05 hat folgendes geschrieben: | Die kenn ich nicht auswendig^^ |
Deshalb hab ichs ja hingeschrieben  , damit du nicht erst suchen musst, und wenn du ein bisschen damit machst, kannst du die bald ganz automatisch auswendig... 
|
|
DarkLord05 
      
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++
|
Verfasst: 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.
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  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
      
Beiträge: 19312
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Do 16.06.05 13:34
na ja, da gibts schon Unterschiede allerdings weniger bei diesen einfachen Funktionen  , 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...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| uses ...
const Verschiebung = 3;
implementation
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 
      
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++
|
Verfasst: 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. 
|
|
DarkLord05 
      
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++
|
Verfasst: 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:
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:
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.
|
|